Method: Dry::Types::Hash#schema

Defined in:
lib/dry/types/hash.rb

#schema(type_map, meta = EMPTY_HASH) ⇒ Dry::Types::Schema #schema(keys) ⇒ Dry::Types::Schema

Overloads:



22
23
24
25
26
27
28
29
30
# File 'lib/dry/types/hash.rb', line 22

def schema(keys_or_map, meta = EMPTY_HASH)
  if keys_or_map.is_a?(::Array)
    keys = keys_or_map
  else
    keys = build_keys(keys_or_map)
  end

  Schema.new(primitive, keys: keys, **options, meta: self.meta.merge(meta))
end