Class: Definition::Types::Each::Conformer
- Inherits:
-
Object
- Object
- Definition::Types::Each::Conformer
- Defined in:
- lib/definition/types/each.rb
Instance Method Summary collapse
- #conform(value) ⇒ Object
-
#initialize(definition) ⇒ Conformer
constructor
A new instance of Conformer.
Constructor Details
#initialize(definition) ⇒ Conformer
Returns a new instance of Conformer.
20 21 22 |
# File 'lib/definition/types/each.rb', line 20 def initialize(definition) self.definition = definition end |
Instance Method Details
#conform(value) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/definition/types/each.rb', line 24 def conform(value) return non_array_error(value) unless value.is_a?(Array) results = conform_all(value) if results.all?(&:conformed?) ConformResult.new(results.map(&:value)) else ConformResult.new(value, errors: [ConformError.new(definition, "Not all items conform with '#{definition.name}'", sub_errors: errors(results))]) end end |