Class: Dry::Schema::Key::Array Private
- Inherits:
-
Dry::Schema::Key
- Object
- Dry::Schema::Key
- Dry::Schema::Key::Array
- Defined in:
- lib/dry/schema/key.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
A specialized key type which handles nested arrays
Constant Summary
Constants inherited from Dry::Schema::Key
Instance Attribute Summary collapse
- #member ⇒ Object readonly private
Attributes inherited from Dry::Schema::Key
Instance Method Summary collapse
- #coercible(&coercer) ⇒ Object private
- #dump ⇒ Object private
-
#initialize(id, member:, **opts) ⇒ Array
constructor
private
A new instance of Array.
- #stringified ⇒ Object private
- #write(source, target) ⇒ Object private
Methods inherited from Dry::Schema::Key
Constructor Details
#initialize(id, member:, **opts) ⇒ Array
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Array.
136 137 138 139 |
# File 'lib/dry/schema/key.rb', line 136 def initialize(id, member:, **opts) super(id, **opts) @member = member end |
Instance Attribute Details
#member ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
133 134 135 |
# File 'lib/dry/schema/key.rb', line 133 def member @member end |
Instance Method Details
#coercible(&coercer) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
149 150 151 |
# File 'lib/dry/schema/key.rb', line 149 def coercible(&coercer) new(coercer: coercer, member: member.coercible(&coercer)) end |
#dump ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
159 160 161 |
# File 'lib/dry/schema/key.rb', line 159 def dump [name, member.dump] end |
#stringified ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
154 155 156 |
# File 'lib/dry/schema/key.rb', line 154 def stringified new(name: name.to_s, member: member.stringified) end |
#write(source, target) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
142 143 144 145 146 |
# File 'lib/dry/schema/key.rb', line 142 def write(source, target) read(source) { |value| target[coerced_name] = value.is_a?(::Array) ? value.map { |el| member.write(el) } : value } end |