Method: Cure::Validator::Candidate#perform

Defined in:
lib/cure/validator/candidate.rb

#perform(value) ⇒ Object



36
37
38
39
40
41
42
43
44
# File 'lib/cure/validator/candidate.rb', line 36

def perform(value)
  result = @rules.filter_map do |rule|
    rule.process(value) ? nil : "#{rule} failed -> [#{@column}][#{value}]"
  end

  raise "Validation failed:\n#{result.join("\n")}" if @options[:fail_on_error] && !result.empty?

  result
end