# class Time

Time serialization/deserialization

### Public Class Methods

json_create(object) click to toggle source

Deserializes JSON string by converting time since epoch to Time

    # File lib/json/add/time.rb, line 9
    def self.json_create(object)
      if usec = object.delete('u') # used to be tv_usec -> tv_nsec
        object['n'] = usec * 1000
      end
      if method_defined?(:tv_nsec)
        at(object['s'], Rational(object['n'], 1000))
      else
        at(object['s'], object['n'] / 1000)
      end
    end

### Public Instance Methods

as_json(*) click to toggle source

Returns a hash, that will be turned into a JSON object and represent this object.

    # File lib/json/add/time.rb, line 22
    def as_json(*)
      nanoseconds = [ tv_usec * 1000 ]
      respond_to?(:tv_nsec) and nanoseconds << tv_nsec
      nanoseconds = nanoseconds.max
      {
        JSON.create_id => self.class.name,
        's'            => tv_sec,
        'n'            => nanoseconds,
      }
    end

to_json(*args) click to toggle source

Stores class name (Time) with number of seconds since epoch and number of microseconds for Time as JSON string

    # File lib/json/add/time.rb, line 35
    def to_json(*args)
      as_json.to_json(*args)
    end