Support for the Ruby 2.1 series ended on March 31 2017. See here for details.

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 json/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 instance_methods.include?(: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 json/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 json/lib/json/add/time.rb, line 35
def to_json(*args)
 as_json.to_json(*args)
end
 

AltStyle によって変換されたページ (->オリジナル) /