class Dry::Types::Schema

def key(name, fallback = Undefined, &)

Other tags:
    Api: - public

Returns:
  • (Dry::Types::Schema::Key, Object) - key type or block value if key is not in schema
  • (Dry::Types::Schema::Key, Object) - key type or fallback if key is not in schema

Parameters:
  • block (Proc) -- Fallback block, runs if key is missing
  • name (Symbol) -- Key name
  • fallback (Object) -- Optional fallback, returned if key is missing
  • name (Symbol) -- Key name

Overloads:
  • key(name, &block)
  • key(name, fallback = Undefined)
def key(name, fallback = Undefined, &)
  if Undefined.equal?(fallback)
    name_key_map.fetch(name, &)
  else
    name_key_map.fetch(name, fallback)
  end
end