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