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.
25 26 27 |
# File 'lib/definition/types/each.rb', line 25 def initialize(definition) self.definition = definition end |
Instance Method Details
#conform(value) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/definition/types/each.rb', line 29 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 |