Sha256: e5658ef740851cd129e5bc117679cdb99be7be0c54a206c238e29f423306ecd2
Contents?: true
Size: 796 Bytes
Versions: 8
Compression:
Stored size: 796 Bytes
Contents
# frozen_string_literal: true class Pagy # Shared with Keyset module SharedMethods attr_reader :page, :limit, :vars # Validates and assign the passed vars: var must be present and value.to_i must be >= to 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 # Assign @limit (overridden by the gearbox extra) def assign_limit assign_and_check(limit: 1) end # Assign @vars def assign_vars(default, vars) @vars = { **default, **vars.delete_if { |k, v| default.key?(k) && (v.nil? || v == '') } } end end end
Version data entries
8 entries across 8 versions & 1 rubygems