method
prepare_value_for_validation
v8.1.1 -
Show latest stable
- Class:
ActiveModel::Validations::NumericalityValidator
prepare_value_for_validation(value, record, attr_name)private
No documentation available.
# File activemodel/lib/active_model/validations/numericality.rb, line 122
def prepare_value_for_validation(value, record, attr_name)
return value if record_attribute_changed_in_place?(record, attr_name)
came_from_user = :"#{attr_name}_came_from_user?"
if record.respond_to?(came_from_user)
if record.public_send(came_from_user)
raw_value = record.public_send(:"#{attr_name}_before_type_cast")
elsif record.respond_to?(:read_attribute)
raw_value = record.read_attribute(attr_name)
end
else
before_type_cast = :"#{attr_name}_before_type_cast"
if record.respond_to?(before_type_cast)
raw_value = record.public_send(before_type_cast)
end
end
raw_value || value
end