Module: PropertySets::Casting
- Defined in:
- lib/property_sets/casting.rb
Class Method Summary collapse
Class Method Details
.read(type, value) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/property_sets/casting.rb', line 6 def self.read(type, value) return nil if value.nil? case type when :string value when :datetime Time.parse(value).in_time_zone when :float value.to_f when :integer value.to_i when :boolean ![ "false", "0", "", "off", "n" ].member?(value.to_s.downcase) when :serialized # deserialization happens in the model value end end |
.write(type, value) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/property_sets/casting.rb', line 26 def self.write(type, value) return nil if value.nil? case type when :datetime if value.is_a?(String) value else value.in_time_zone("UTC").to_s end when :serialized # write the object directly. value else value.to_s end end |