DEFAULT_OPTIONS = {
:class_name => nil,
:singular_name => nil,
- :per_page => 10,
+ :per_page => 10,
:conditions => nil,
- :order_by => nil,
- :order => nil,
- :join => nil,
- :joins => nil,
- :count => nil,
- :include => nil,
- :select => nil,
- :group => nil,
- :parameter => "page"
+ :order_by => nil,
+ :order => nil,
+ :join => nil,
+ :joins => nil,
+ :count => nil,
+ :include => nil,
+ :select => nil,
+ :group => nil,
+ :parameter => "page"
}.freeze
end
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)
+ next if options[:actions]&.exclude?(action_name)
paginator, collection =
paginator_and_collection_for(collection_id, options)
@number = 1 unless @paginator.has_page_number? @number
end
attr_reader :paginator, :number
+
alias to_i number
# Compares two Page objects and returns true when they represent the
@page = page
self.padding = padding
end
- attr_reader :paginator, :page
+ attr_reader :paginator, :page, :padding, :first, :last
# Sets the window's padding (the number of pages on either side of the
# window page).
def padding=(padding)
- @padding = padding < 0 ? 0 : padding
+ @padding = padding.negative? ? 0 : padding
# Find the beginning and end pages of the window
@first = if @paginator.has_page_number?(@page.number - @padding)
@paginator[@page.number - @padding]
@paginator.last
end
end
- attr_reader :padding, :first, :last
# Returns an array of Page objects in the current window.
def pages