class ParamsReady::Pagination::AfterKeysets
Attributes
last[R]
Public Class Methods
new(last, keysets, &block)
click to toggle source
Calls superclass method
ParamsReady::Pagination::AbstractKeysets::new
# File lib/params_ready/pagination/keysets.rb, line 45 def initialize(last, keysets, &block) @last = last super keysets, &block end
Public Instance Methods
page(delta, limit)
click to toggle source
# File lib/params_ready/pagination/keysets.rb, line 50 def page(delta, limit) raise "Expected positive integer for limit, got: #{limit}" if limit < 1 raise "Expected positive integer for delta, got: #{delta}" if delta < 1 return if @keysets.length.zero? shift = (delta - 1) * limit if shift == 0 @last else diff = @keysets.length - shift if diff < 1 nil else transform(@keysets[shift - 1]) end end end