class Plinko::MultiValidator

Attributes

validated_object[RW]
validators[RW]

Public Class Methods

new(validated_object, validators = []) click to toggle source
# File lib/plinko/multi_validator.rb, line 7
def initialize(validated_object, validators = [])
  self.validated_object = validated_object
  self.validators = validators
end

Public Instance Methods

errors() click to toggle source
# File lib/plinko/multi_validator.rb, line 16
def errors
  validation.errors
end
seed() click to toggle source
# File lib/plinko/multi_validator.rb, line 12
def seed
  Validation.new(validated_object)
end
valid?() click to toggle source
# File lib/plinko/multi_validator.rb, line 20
def valid?
  validation.valid?
end
validate!() click to toggle source
# File lib/plinko/multi_validator.rb, line 30
def validate!
  validators.reduce(seed) do |memo, validator|
    temp_val = memo.with(validator)

    raise StandardError temp_val.errors unless temp_val.valid?

    temp_val
  end
end
validation() click to toggle source
# File lib/plinko/multi_validator.rb, line 24
def validation
  validators.reduce(seed) do |memo, validator|
    memo.with(validator)
  end
end