Sha256: eb692bb56465955efdd1a31f9dcc21e4fd6056d734869bc0d692b1070ccd461a
Contents?: true
Size: 861 Bytes
Versions: 15
Compression:
Stored size: 861 Bytes
Contents
require 'ardm/property/time' module Ardm class Property class EpochTime < Time dump_as ::Integer def load(value) if value.kind_of?(::Numeric) ::Time.at(value.to_i) else value end end def dump(value) value.to_i if value end def typecast(value) case value when ::Time then value when ::Numeric, /\A\d+\z/ then ::Time.at(value.to_i) when ::DateTime then datetime_to_time(value) when ::String then ::Time.parse(value) end end private def datetime_to_time(datetime) utc = datetime.new_offset(0) ::Time.utc(utc.year, utc.month, utc.day, utc.hour, utc.min, utc.sec) end end # class EpochTime end # class Property end # module Ardm
Version data entries
15 entries across 15 versions & 1 rubygems