class FluentValidation::AttributeRule
Attributes
attribute_name[RW]
condition[RW]
error_code[RW]
expression[R]
validators[R]
Public Class Methods
new(&expression)
click to toggle source
# File lib/fluent_validation/attribute_rule.rb, line 10 def initialize(&expression) @expression = expression @validators = Array.new end
Public Instance Methods
add_validator(validator)
click to toggle source
# File lib/fluent_validation/attribute_rule.rb, line 15 def add_validator(validator) @validators << validator end
validate(object)
click to toggle source
# File lib/fluent_validation/attribute_rule.rb, line 19 def validate(object) validation_failures = Array.new if @condition.nil? || @condition.call(object) value = expression.call object validator_context = Validators::AttributeValidatorContext.new @attribute_name, value, @error_code @validators.each do |validator| result = validator.validate validator_context validation_failures.concat result end end validation_failures end