Class: Strict::Validators::ArrayOf
- Inherits:
-
Object
- Object
- Strict::Validators::ArrayOf
- Includes:
- DetailedValidator
- Defined in:
- lib/strict/validators/array_of.rb
Instance Attribute Summary collapse
-
#element_validator ⇒ Object
readonly
Returns the value of attribute element_validator.
Instance Method Summary collapse
- #coercer ⇒ Object
-
#initialize(element_validator) ⇒ ArrayOf
constructor
A new instance of ArrayOf.
- #inspect ⇒ Object (also: #to_s)
- #violations(value) ⇒ Object
Methods included from DetailedValidator
Constructor Details
#initialize(element_validator) ⇒ ArrayOf
Returns a new instance of ArrayOf.
10 11 12 |
# File 'lib/strict/validators/array_of.rb', line 10 def initialize(element_validator) @element_validator = element_validator end |
Instance Attribute Details
#element_validator ⇒ Object (readonly)
Returns the value of attribute element_validator.
8 9 10 |
# File 'lib/strict/validators/array_of.rb', line 8 def element_validator @element_validator end |
Instance Method Details
#coercer ⇒ Object
14 15 16 17 |
# File 'lib/strict/validators/array_of.rb', line 14 def coercer element_coercer = element_validator.coercer if element_validator.respond_to?(:coercer) Coercers::Array.new(element_coercer) end |
#inspect ⇒ Object Also known as: to_s
33 34 35 |
# File 'lib/strict/validators/array_of.rb', line 33 def inspect "ArrayOf(#{element_validator.inspect})" end |
#violations(value) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/strict/validators/array_of.rb', line 19 def violations(value) return Validation.invalid(self, value) unless Array === value violations = nil value.each_with_index do |element, index| element_violations = Validation.violations(element_validator, element) next if element_violations.empty? violations ||= [] violations.concat(Validation.prepend_path(element_violations, index)) end violations || Validation::NONE end |