Class: Dry::Data::Type::Array
- Inherits:
-
Dry::Data::Type
- Object
- Dry::Data::Type
- Dry::Data::Type::Array
- Defined in:
- lib/dry/data/type/array.rb
Instance Attribute Summary
Attributes inherited from Dry::Data::Type
#constructor, #options, #primitive
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Dry::Data::Type
[], #call, #initialize, #name, #try, #valid?
Methods included from Dry::Data::TypeBuilder
#constrained, #default, #enum, #optional, #safe, #|
Constructor Details
This class inherits a constructor from Dry::Data::Type
Class Method Details
.constructor(array_constructor, member_constructor, input) ⇒ Object
5 6 7 |
# File 'lib/dry/data/type/array.rb', line 5 def self.constructor(array_constructor, member_constructor, input) array_constructor[input].map { |value| member_constructor[value] } end |
Instance Method Details
#member(type) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/dry/data/type/array.rb', line 9 def member(type) member_constructor = case type when String, Class then Data[type] else type end array_constructor = self.class .method(:constructor).to_proc.curry.(constructor, member_constructor) self.class.new(array_constructor, primitive: primitive, member: member_constructor) end |