}.freeze
end
- def self.included(base) #:nodoc:
+ def self.included(base) # :nodoc:
super
base.extend(ClassMethods)
end
- def self.validate_options!(collection_id, options, in_action) #:nodoc:
+ def self.validate_options!(collection_id, options, in_action) # :nodoc:
options.merge!(DEFAULT_OPTIONS) { |_key, old, _new| old }
valid_options = DEFAULT_OPTIONS.keys
protected
- def create_paginators_and_retrieve_collections #:nodoc:
+ def create_paginators_and_retrieve_collections # :nodoc:
Pagination::OPTIONS[self.class].each do |collection_id, options|
next if options[:actions]&.exclude?(action_name)
private
- def paginator_and_collection_for(_collection_id, options) #:nodoc:
+ def paginator_and_collection_for(_collection_id, options) # :nodoc:
klass = options[:class_name].constantize
page = params[options[:parameter]]
count = count_collection_for_pagination(klass, options)
raise ArgumentError, "Page/Paginator mismatch" if page.is_a?(Page) && page.paginator != self
page = page.to_i
- @current_page_number = has_page_number?(page) ? page : 1
+ @current_page_number = contains_page?(page) ? page : 1
end
# Returns a Page object representing this paginator's current page.
alias length page_count
# Returns true if this paginator contains the page of index +number+.
- def has_page_number?(number)
+ def contains_page?(number)
number >= 1 && number <= page_count
end
def initialize(paginator, number)
@paginator = paginator
@number = number.to_i
- @number = 1 unless @paginator.has_page_number? @number
+ @number = 1 unless @paginator.contains_page? @number
end
attr_reader :paginator, :number
[@paginator.items_per_page, offset]
end
- def to_param #:nodoc:
+ def to_param # :nodoc:
@number.to_s
end
end
def padding=(padding)
@padding = padding.negative? ? 0 : padding
# Find the beginning and end pages of the window
- @first = if @paginator.has_page_number?(@page.number - @padding)
+ @first = if @paginator.contains_page?(@page.number - @padding)
@paginator[@page.number - @padding]
else
@paginator.first
end
- @last = if @paginator.has_page_number?(@page.number + @padding)
+ @last = if @paginator.contains_page?(@page.number + @padding)
@paginator[@page.number + @padding]
else
@paginator.last