class ArPagination::OffsetPagination::Page

Public Class Methods

new(scope, options = {}) click to toggle source
# File lib/ar_pagination/offset_pagination/page.rb, line 6
def initialize(scope, options = {})
  @scope = scope
  @limit = Integer(options[:limit] || options[:count] || 50)
  @offset = Integer(options[:offset] || 0)
  @sort = options[:sort]
end

Public Instance Methods

data() click to toggle source
# File lib/ar_pagination/offset_pagination/page.rb, line 13
def data
  @scope = ArPagination::Helpers::Sort.new(@scope).sort(@sort)

  @scope.offset(@offset).limit(@limit)
end
params_for(direction) click to toggle source
# File lib/ar_pagination/offset_pagination/page.rb, line 19
def params_for(direction)
  case direction
  when :first
    { offset: 0, count: @limit }
  when :next
    { offset: @limit + @offset, count: @limit }
  when :prev
    @limit > @offset ? { offset: @limit - @offset, count: @limit } : {}
  end
end