Class: FlexValidations::Or
- Inherits:
-
Object
- Object
- FlexValidations::Or
- Includes:
- Validation
- Defined in:
- lib/flex_validations/or.rb
Defined Under Namespace
Classes: FailedMessage
Instance Method Summary collapse
-
#initialize(*validations) ⇒ Or
constructor
A new instance of Or.
- #to_s ⇒ String
- #validate(value) ⇒ FlexValidations::Result
Methods included from Validation
Constructor Details
#initialize(*validations) ⇒ Or
Returns a new instance of Or.
7 8 9 |
# File 'lib/flex_validations/or.rb', line 7 def initialize(*validations) @validations = validations end |
Instance Method Details
#to_s ⇒ String
29 30 31 |
# File 'lib/flex_validations/or.rb', line 29 def to_s "any of validation should succeed:\n#{IndentedString.new(List.new(@validations))}" end |
#validate(value) ⇒ FlexValidations::Result
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/flex_validations/or.rb', line 14 def validate(value) fails = [] @validations.each do |validation| res = validation.validate(value) return Result::Success::Composite.new(self, validation, res., value, res.raw) if res.success? fails.push(res) end Result::Fail::Simple.new(self, FailedMessage.new(fails), value, value) end |