class ParamsReady::Pagination::BeforeKeysets
Public Instance Methods
page(delta, limit)
click to toggle source
# File lib/params_ready/pagination/keysets.rb, line 22 def page(delta, limit) raise "Expected positive integer for limit, got: #{limit}" if limit < 1 raise "Expected non-negative integer for delta, got: #{delta}" if delta < 0 if delta == 0 transform(@keysets.first) else shift = delta * limit diff = @keysets.length - shift if diff > 0 transform(@keysets[shift]) elsif diff.abs < limit {} else nil end end end