class ParamsReady::Pagination::OffsetPaginationDefinition

Constants

MIN_LIMIT

Public Class Methods

new(default_offset, default_limit, max_limit = nil) click to toggle source
Calls superclass method
# File lib/params_ready/pagination/offset_pagination.rb, line 114
def initialize(default_offset, default_limit, max_limit = nil)
  offset = Builder.define_integer(:offset, altn: :off) do
    constrain Value::OperatorConstraint.new(:>=, 0), strategy: :clamp
  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
  super :pagination,
        altn: :pgn,
        marshaller: { using: :string, separator: '-' },
        fields: [offset, limit],
        default: [default_offset, default_limit]
end