Class: Strict::Validators::AllOf

Inherits:
Object
  • Object
show all
Includes:
DetailedValidator
Defined in:
lib/strict/validators/all_of.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DetailedValidator

#===

Constructor Details

#initialize(*subvalidators) ⇒ AllOf

Returns a new instance of AllOf.



10
11
12
# File 'lib/strict/validators/all_of.rb', line 10

def initialize(*subvalidators)
  @subvalidators = subvalidators
end

Instance Attribute Details

#subvalidatorsObject (readonly)

Returns the value of attribute subvalidators.



8
9
10
# File 'lib/strict/validators/all_of.rb', line 8

def subvalidators
  @subvalidators
end

Instance Method Details

#inspectObject Also known as: to_s



26
27
28
# File 'lib/strict/validators/all_of.rb', line 26

def inspect
  "AllOf(#{subvalidators.map(&:inspect).join(', ')})"
end

#violations(value) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/strict/validators/all_of.rb', line 14

def violations(value)
  violations = nil
  subvalidators.each do |subvalidator|
    subvalidator_violations = Validation.violations(subvalidator, value)
    next if subvalidator_violations.empty?

    violations ||= []
    violations.concat(subvalidator_violations)
  end
  violations || Validation::NONE
end