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])
# 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
# 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
# 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
1
else
q, r = @item_count.divmod(@items_per_page)
- r == 0 ? q : q + 1
+ r.zero? ? q : q + 1
end
end
# 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