module PigeonHole::JSONTime

Constants

TYPE_VALUE

Public Class Methods

deserialize(hash) click to toggle source
# File lib/pigeon_hole/json_time.rb, line 12
def self.deserialize(hash)
  ms_since_epoc = hash['ms'].to_i
  seconds, fragment = ms_since_epoc.divmod(1000)
  Time.at(seconds, fragment * 1000).utc
end
serialize(time) click to toggle source
# File lib/pigeon_hole/json_time.rb, line 5
def self.serialize(time)
  {
    TypedJSON::TYPE_KEY => TYPE_VALUE,
    'ms' => (time.tv_sec * 1000) + (time.usec / 1000),
  }
end