Class: Ializer::FloatDeSer
- Inherits:
-
Object
- Object
- Ializer::FloatDeSer
- Defined in:
- lib/ializer/float_de_ser.rb
Constant Summary collapse
- NAN_STRING =
Float::NAN.to_s
- INFINITY_STRING =
Float::INFINITY.to_s
- NEGATIVE_INFINITY_STRING =
(-Float::INFINITY).to_s
Class Method Summary collapse
Class Method Details
.parse(value) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/ializer/float_de_ser.rb', line 19 def self.parse(value) return Float::NAN if value == NAN_STRING return -Float::INFINITY if value == NEGATIVE_INFINITY_STRING return Float::INFINITY if value == INFINITY_STRING return nil if value.nil? value.to_f end |
.serialize(value, _context = nil) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/ializer/float_de_ser.rb', line 9 def self.serialize(value, _context = nil) value = value.to_f unless value.is_a? Float return NAN_STRING if value.nan? return value.to_s if value.infinite? value end |