Class: Dry::Types::Hash::Safe
- Inherits:
-
Schema
- Object
- Definition
- Dry::Types::Hash
- Schema
- Dry::Types::Hash::Safe
- Defined in:
- lib/dry/types/hash/schema.rb
Instance Attribute Summary
Attributes inherited from Schema
Attributes inherited from Definition
Attributes included from Options
Instance Method Summary collapse
- #call(hash, meth = :call) ⇒ Object (also: #[])
Methods inherited from Schema
Methods inherited from Dry::Types::Hash
Methods inherited from Definition
[], #failure, #initialize, #name, #primitive?, #result, #success, #try
Methods included from Builder
#constrained, #constrained_type, #constructor, #default, #enum, #maybe, #optional, #safe, #|
Methods included from Options
Constructor Details
This class inherits a constructor from Dry::Types::Hash::Schema
Instance Method Details
#call(hash, meth = :call) ⇒ Object Also known as: []
35 36 37 38 39 40 41 42 43 |
# File 'lib/dry/types/hash/schema.rb', line 35 def call(hash, meth = :call) member_types.each_with_object({}) do |(key, type), result| if hash.key?(key) result[key] = type.__send__(meth, hash[key]) else resolve_missing_value(result, key, type) end end end |