module Pagy::SharedMethods
def assign_and_check(name_min)
def assign_and_check(name_min) name_min.each do |name, min| raise VariableError.new(self, name, ">= #{min}", @vars[name]) \ unless @vars[name]&.respond_to?(:to_i) && instance_variable_set(:"@#{name}", @vars[name].to_i) >= min end end
def assign_limit
def assign_limit assign_and_check(limit: 1) end
def assign_vars(default, vars)
def assign_vars(default, vars) @vars = { **default, **vars.delete_if { |k, v| default.key?(k) && (v.nil? || v == '') } } end