class FlexValidations::Chain
Public Class Methods
new(*validations)
click to toggle source
# File lib/flex_validations/chain.rb, line 7 def initialize(*validations) @validations = validations end
Public Instance Methods
to_s()
click to toggle source
@return [String]
# File lib/flex_validations/chain.rb, line 31 def to_s "chain of validations should succeed:\n#{IndentedString.new(NumberedList.new(@validations))}" end
validate(value)
click to toggle source
@param value [Object] Value to be validated
@return [FlexValidations::Result]
# File lib/flex_validations/chain.rb, line 14 def validate(value) successes = [] v = value @validations.each do |validation| res = validation.validate(v) return failed(value, successes, res) if res.fail? successes.push(res) v = res.raw end SuccessResult.new(self, successes, value, successes.last.raw) end
Private Instance Methods
failed(value, successes, res)
click to toggle source
# File lib/flex_validations/chain.rb, line 83 def failed(value, successes, res) Result::Fail::Simple.new(self, FailedMessage.new(value, successes, res), value, res.raw) end