Module: ActiveModel::Type::Helpers::Numeric
Instance Method Summary collapse
- #cast(value) ⇒ Object
-
#changed?(old_value, _new_value, new_value_before_type_cast) ⇒ Boolean
:nodoc:.
- #serialize(value) ⇒ Object
- #serialize_cast_value(value) ⇒ Object
Instance Method Details
#cast(value) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/active_model/type/helpers/numeric.rb', line 15 def cast(value) # Checks whether the value is numeric. Spaceship operator # will return nil if value is not numeric. value = if value <=> 0 value else case value when true then 1 when false then 0 else value.presence end end super(value) end |
#changed?(old_value, _new_value, new_value_before_type_cast) ⇒ Boolean
:nodoc:
31 32 33 34 |
# File 'lib/active_model/type/helpers/numeric.rb', line 31 def changed?(old_value, _new_value, new_value_before_type_cast) # :nodoc: (super || number_to_non_number?(old_value, new_value_before_type_cast)) && !equal_nan?(old_value, new_value_before_type_cast) end |
#serialize(value) ⇒ Object
7 8 9 |
# File 'lib/active_model/type/helpers/numeric.rb', line 7 def serialize(value) cast(value) end |
#serialize_cast_value(value) ⇒ Object
11 12 13 |
# File 'lib/active_model/type/helpers/numeric.rb', line 11 def serialize_cast_value(value) value end |