class Dry::Schema::Key::Array
A specialized key type which handles nested arrays
@api private
Attributes
member[R]
Public Class Methods
new(id, member:, **opts)
click to toggle source
@api private
Calls superclass method
Dry::Schema::Key::new
# File lib/dry/schema/key.rb, line 146 def initialize(id, member:, **opts) super(id, **opts) @member = member end
Public Instance Methods
coercible(&coercer)
click to toggle source
@api private
# File lib/dry/schema/key.rb, line 159 def coercible(&coercer) new(coercer: coercer, member: member.coercible(&coercer)) end
dump()
click to toggle source
@api private
# File lib/dry/schema/key.rb, line 174 def dump [name, member.dump] end
stringified()
click to toggle source
@api private
# File lib/dry/schema/key.rb, line 164 def stringified new(name: name.to_s, member: member.stringified) end
to_dot_notation()
click to toggle source
@api private
# File lib/dry/schema/key.rb, line 169 def to_dot_notation [:"#{name}[]"].product(member.to_dot_notation).map { |el| el.join(DOT) } end
write(source, target)
click to toggle source
@api private
# File lib/dry/schema/key.rb, line 152 def write(source, target) read(source) { |value| target[coerced_name] = value.is_a?(::Array) ? value.map { |el| member.write(el) } : value } end