class Dry::Types::Hash::Weak
@see Safe
Weak schema provides safe types for every type given in schema hash
def self.new(primitive, options)
- See: #initialize -
Parameters:
-
options
(Hash
) -- -
primitive
(Class
) --
def self.new(primitive, options) member_types = options. fetch(:member_types). each_with_object({}) { |(k, t), res| res[k] = t.safe } super(primitive, options.merge(member_types: member_types)) end
def try(value, &block)
-
(Result, Logic::Result)
- otherwise -
(Object)
- if block given
Other tags:
- Yieldreturn: -
Other tags:
- Yieldparam: failure -
Parameters:
-
block
(#call, nil
) -- -
value
(Object
) --
def try(value, &block) if value.is_a?(::Hash) super else result = failure(value, "#{value} must be a hash") block ? yield(result) : result end end