}.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)
# object, its +number+ attribute is used as the value; if the page does
# not belong to this Paginator, an ArgumentError is raised.
def current_page=(page)
- if page.is_a? Page
- raise ArgumentError, "Page/Paginator mismatch" unless
- page.paginator == self
- end
+ 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
end
[@paginator.items_per_page, offset]
end
- def to_param #:nodoc:
+ def to_param # :nodoc:
@number.to_s
end
end