X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/8fe18995964717ff6f88858291c6f464cc40397f..e71d7e8bea5b4f2b67fe4a6bee94a24bacbcb3e5:/lib/classic_pagination/pagination.rb diff --git a/lib/classic_pagination/pagination.rb b/lib/classic_pagination/pagination.rb index 00db5d337..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 - fail 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 @@ -225,7 +224,7 @@ module ActionController # than or equal to zero). The page CGI parameter for links defaults to # "page" and can be overridden with +page_parameter+. def initialize(controller, item_count, items_per_page, current_page = 1) - fail ArgumentError, "must have at least one item per page" if + raise ArgumentError, "must have at least one item per page" if items_per_page <= 0 @controller = controller @@ -242,7 +241,7 @@ module ActionController # not belong to this Paginator, an ArgumentError is raised. def current_page=(page) if page.is_a? Page - fail ArgumentError, "Page/Paginator mismatch" unless + raise ArgumentError, "Page/Paginator mismatch" unless page.paginator == self end page = page.to_i @@ -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 @@ -326,7 +325,7 @@ module ActionController # left-hand page comes after the right-hand page. Raises ArgumentError # if the pages do not belong to the same Paginator object. def <=>(other) - fail ArgumentError unless @paginator == other.paginator + raise ArgumentError unless @paginator == other.paginator @number <=> other.number end