class Wallaby::ActiveRecord::ModelPaginationProvider
Model pagination provider for {Wallaby::ActiveRecord}
Public Instance Methods
page_number()
click to toggle source
@return [Integer] page number from parameters starting from 1
# File lib/adapters/wallaby/active_record/model_pagination_provider.rb, line 27 def page_number [@params[:page].to_i, 1].max end
page_size()
click to toggle source
@return [Integer] page size from parameters or Wallaby
configuration
# File lib/adapters/wallaby/active_record/model_pagination_provider.rb, line 22 def page_size (@params[:per] || Wallaby.configuration.pagination.page_size).to_i end
paginatable?()
click to toggle source
Check if collection can be paginated @return [true] if paginatable @return [false] if not paginatable
# File lib/adapters/wallaby/active_record/model_pagination_provider.rb, line 10 def paginatable? (@collection.respond_to?(:unscope) && @collection.respond_to?(:count)).tap do |paginatable| Logger.warn "#{@collection} is not paginatable." unless paginatable end end
total()
click to toggle source
@return [Integer] total count for the collection
# File lib/adapters/wallaby/active_record/model_pagination_provider.rb, line 17 def total @collection.unscope(:offset, :limit).count end