X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/945ff7911ca51dc250ffaba71f62821b5c0c0a95..640ea955fe1eb5c4719664e13f6b6bcc5c5ae7f6:/lib/classic_pagination/pagination.rb diff --git a/lib/classic_pagination/pagination.rb b/lib/classic_pagination/pagination.rb index 44366d552..328237d52 100644 --- a/lib/classic_pagination/pagination.rb +++ b/lib/classic_pagination/pagination.rb @@ -93,9 +93,10 @@ module ActionController valid_options << :actions unless in_action unknown_option_keys = options.keys - valid_options - raise ActionController::ActionControllerError, - "Unknown options: #{unknown_option_keys.join(', ')}" unless - unknown_option_keys.empty? + unless unknown_option_keys.empty? + raise ActionController::ActionControllerError, + "Unknown options: #{unknown_option_keys.join(', ')}" + end options[:singular_name] ||= ActiveSupport::Inflector.singularize(collection_id.to_s) options[:class_name] ||= ActiveSupport::Inflector.camelize(options[:singular_name]) @@ -135,7 +136,7 @@ module ActionController # 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 :actions option). # @@ -146,13 +147,15 @@ module ActionController 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) @@ -199,9 +202,7 @@ module ActionController 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 @@ -213,8 +214,6 @@ module ActionController [paginator, collection] end - private :paginator_and_collection_for - # A class representing a paginator for an Active Record collection. class Paginator include Enumerable @@ -273,7 +272,7 @@ module ActionController 1 else q, r = @item_count.divmod(@items_per_page) - r == 0 ? q : q + 1 + r.zero? ? q : q + 1 end end