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