module Pagy::LimitExtra::BackendAddOn

def pagy_get_limit(vars)

Set the limit variable considering the params and other pagy variables
def pagy_get_limit(vars)
  return super unless vars.key?(:limit_extra) ? vars[:limit_extra] : DEFAULT[:limit_extra] # :limit_extra is false
  return super unless (limit_count = pagy_get_limit_param(vars))                            # no limit from request params
  vars[:limit] = [limit_count.to_i, vars.key?(:limit_max) ? vars[:limit_max] : DEFAULT[:limit_max]].compact.min
end

def pagy_get_limit_param(vars)

Overridable by the jsonapi extra
Get the limit count from the params
def pagy_get_limit_param(vars)
  params[vars[:limit_param] || DEFAULT[:limit_param]]
end