class ActiveModel::Validations::NumericalityValidator

def check_validity!

def check_validity!
  keys = CHECKS.keys - [:odd, :even]
  options.slice(*keys).each do |option, value|
    next if 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