Sha256: 5b0dc49ca5ae14da83c442657f09bc346fb1194c1d2a77f7700d3c50d8c2d30b
Contents?: true
Size: 823 Bytes
Versions: 1
Compression:
Stored size: 823 Bytes
Contents
require 'json' module PropertySets module Casting 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 JSON.parse(value) end end 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 value.to_json else value.to_s end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
property_sets-0.6.0 | lib/property_sets/casting.rb |