class Errapi::ValidationError
Constants
- ATTRIBUTES
Attributes
check_value[RW]
checked_value[RW]
constraints[RW]
location[RW]
reason[RW]
validation[RW]
Public Class Methods
new(options = {})
click to toggle source
# File lib/errapi/validation_error.rb, line 11 def initialize options = {} ATTRIBUTES.each do |attr| instance_variable_set "@#{attr}", options[attr] if options.key? attr end end
Public Instance Methods
matches?(criteria = {})
click to toggle source
# File lib/errapi/validation_error.rb, line 17 def matches? criteria = {} unknown_criteria = criteria.keys - ATTRIBUTES raise "Unknown error attributes: #{unknown_criteria.join(', ')}." if unknown_criteria.any? ATTRIBUTES.all?{ |attr| criterion_matches? criteria, attr } end
Private Instance Methods
criterion_matches?(criteria, attr)
click to toggle source
# File lib/errapi/validation_error.rb, line 27 def criterion_matches? criteria, attr return true unless criteria.key? attr value = send attr criterion = criteria[attr] if criterion.kind_of? Regexp !!criterion.match(value.to_s) elsif criterion.kind_of? String criterion == value.to_s elsif criterion.respond_to? :=== criterion === value else criterion == value end end