class Dry::Types::Hash::Weak

@see Safe
Weak schema provides safe types for every type given in schema hash

def self.new(primitive, options)

Other tags:
    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)

Returns:
  • (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