# These methods become class methods on any controller
module ClassMethods
- # Creates a +before_filter+ which automatically paginates an Active
+ # Creates a +before_action+ which automatically paginates an Active
# Record model for all actions in a controller (or certain actions if
# specified with the <tt>:actions</tt> option).
#
def paginate(collection_id, options = {})
Pagination.validate_options!(collection_id, options, false)
module_eval do
- before_filter :create_paginators_and_retrieve_collections
+ before_action :create_paginators_and_retrieve_collections
OPTIONS[self] ||= {}
OPTIONS[self][collection_id] = options
end
end
end
+ protected
+
def create_paginators_and_retrieve_collections #:nodoc:
Pagination::OPTIONS[self.class].each do |collection_id, options|
next if options[:actions] && !options[:actions].include?(action_name)
collection.offset(paginator.current.offset).limit(options[:per_page])
end
- protected :create_paginators_and_retrieve_collections,
- :count_collection_for_pagination,
- :find_collection_for_pagination
+ private
def paginator_and_collection_for(_collection_id, options) #:nodoc:
klass = options[:class_name].constantize
[paginator, collection]
end
- private :paginator_and_collection_for
-
# A class representing a paginator for an Active Record collection.
class Paginator
include Enumerable