Class: Typed::Builder::ArrayType
- Inherits:
-
Object
- Object
- Typed::Builder::ArrayType
- Includes:
- BaseType
- Defined in:
- lib/typed/builder.rb
Instance Method Summary collapse
-
#initialize(element_type) ⇒ ArrayType
constructor
A new instance of ArrayType.
- #process(value) ⇒ Object
Methods included from BaseType
#call, #constrained, #constructor, #default, #enum, #instance, #missable, #nullable, #|
Constructor Details
#initialize(element_type) ⇒ ArrayType
Returns a new instance of ArrayType.
118 119 120 |
# File 'lib/typed/builder.rb', line 118 def initialize(element_type) @element_type = element_type end |
Instance Method Details
#process(value) ⇒ Object
122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/typed/builder.rb', line 122 def process(value) return Result.failure { "Invalid collection: #{value.inspect}" } unless value.respond_to?(:each) new_value = [] value.each do |element| element_result = element_type.process(element) return element_result unless element_result.ok new_value << element_result.value end Result.success(new_value) end |