class Dry::Schema::Key::Hash
@api private
A specialized key type which handles nested hashes
def coercible(&coercer)
- Api: - private
def coercible(&coercer) new(coercer: coercer, members: members.coercible(&coercer)) end
def dump
- Api: - private
def dump { name => members.map(&:dump) } end
def initialize(id, members:, **opts)
- Api: - private
def initialize(id, members:, **opts) super(id, **opts) @members = members end
def read(source)
- Api: - private
def read(source) super if source.is_a?(::Hash) end
def stringified
- Api: - private
def stringified new(name: name.to_s, members: members.stringified) end
def write(source, target)
def write(source, target) read(source) { |value| target[coerced_name] = value.is_a?(::Hash) ? members.write(value) : value } end