class CompareValidator

Constants

CHECKS

Public Instance Methods

validate_each(record, attribute, value) click to toggle source
Calls superclass method BaseValidator#validate_each
# File lib/lite/validators/compare_validator.rb, line 14
def validate_each(record, attribute, value)
  assert_valid_to!
  assert_valid_check!
  super
end

Private Instance Methods

assert_valid_check!() click to toggle source
# File lib/lite/validators/compare_validator.rb, line 22
def assert_valid_check!
  assert_valid_option!(:check, CHECKS.keys)
end
assert_valid_to!() click to toggle source
# File lib/lite/validators/compare_validator.rb, line 26
def assert_valid_to!
  return if options.key?(:to)

  raise ArgumentError, 'Missing ":to" attribute for comparison.'
end
check() click to toggle source
# File lib/lite/validators/compare_validator.rb, line 32
def check
  options[:check] || :equal_to
end
valid_attr?() click to toggle source
# File lib/lite/validators/compare_validator.rb, line 36
def valid_attr?
  other = record.send(options[:to])
  value.send(CHECKS[check], other)
end