class ActiveModel::Validations::NumericalityValidator

def check_validity!

def check_validity!
  options.slice(*COMPARE_CHECKS.keys).each do |option, value|
    unless value.is_a?(Numeric) || value.is_a?(Proc) || value.is_a?(Symbol)
      raise ArgumentError, ":#{option} must be a number, a symbol or a proc"
    end
  end
  options.slice(*RANGE_CHECKS.keys).each do |option, value|
    unless value.is_a?(Range)
      raise ArgumentError, ":#{option} must be a range"
    end
  end
end