class ParamsReady::Pagination::KeysetPaginationDefinition
Constants
- MIN_LIMIT
Attributes
default_limit[R]
Public Class Methods
new(default_limit, max_limit = nil)
click to toggle source
Calls superclass method
# File lib/params_ready/pagination/keyset_pagination.rb, line 187 def initialize(default_limit, max_limit = nil) super :pagination, altn: :pgn @default_limit = default_limit direction = Builder.define_symbol(:direction, altn: :dir) do constrain :enum, [:bfr, :aft] end limit = Builder.define_integer(:limit, altn: :lmt) do constrain Value::OperatorConstraint.new(:>=, MIN_LIMIT), strategy: :clamp constrain Value::OperatorConstraint.new(:<=, max_limit), strategy: :clamp unless max_limit.nil? end add_child(direction) add_child(limit) end
Public Instance Methods
finish()
click to toggle source
Calls superclass method
# File lib/params_ready/pagination/keyset_pagination.rb, line 205 def finish keyset = names[:keyset] raise ParamsReadyError, "No cursor defined" if keyset.nil? || keyset.names.length < 1 super end