Class: Compel::Validators::ArrayItemsValidator
- Defined in:
- lib/compel/validators/array_validator.rb
Instance Attribute Summary
Attributes inherited from Base
#errors, #input, #output, #schema
Instance Method Summary collapse
-
#initialize(input, schema) ⇒ ArrayItemsValidator
constructor
A new instance of ArrayItemsValidator.
- #validate ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(input, schema) ⇒ ArrayItemsValidator
Returns a new instance of ArrayItemsValidator.
72 73 74 75 76 77 |
# File 'lib/compel/validators/array_validator.rb', line 72 def initialize(input, schema) super @output = [] @errors = Errors.new end |
Instance Method Details
#validate ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/compel/validators/array_validator.rb', line 79 def validate input.each_with_index do |item, index| if !schema.required? && item.nil? next end item_validator = \ if schema.type == Coercion::Hash HashValidator.validate(item, schema) else TypeValidator.validate(item, schema) end output << item_validator.serialize if !item_validator.valid? # added errors for the index of that invalid array value errors.add("#{index}", item_validator.serialize_errors) end end self end |