class ParamsReady::Parameter::HashParameterDefinition

Public Instance Methods

add_map(hash) click to toggle source
# File lib/params_ready/parameter/hash_parameter.rb, line 50
def add_map(hash)
  @key_map ||= Helpers::KeyMap.new
  hash.each do |key, value|
    @key_map.map(key, to: value)
  end
end
ensure_canonical(hash) click to toggle source
# File lib/params_ready/parameter/hash_parameter.rb, line 34
def ensure_canonical(hash)
  context = Format.instance(:backend)

  value, _validator = try_canonicalize hash, context, nil, freeze: true
  return value if value.length == hash.length

  extra_keys = hash.keys.select do |key|
    !value.key?(key)
  end.map do |key|
    "'#{key.to_s}'"
  end.join(", ")
  raise ParamsReadyError, "extra keys found -- #{extra_keys}" if extra_keys.length > 0
  value
end
remap?(context) click to toggle source
# File lib/params_ready/parameter/hash_parameter.rb, line 57
def remap?(context)
  return false if key_map.nil?
  context.remap?
end