### Home Classes Methods

### In Files

- lib/json/add/time.rb

### Parent

Object

### Methods

- ::json_create
- #as_json
- #to_json

### Files

- README.rdoc

### Class/Module Index

Quicksearch

- JSON
- JSON::Ext
- JSON::GeneratorError
- JSON::GenericObject
- JSON::JSONError
- JSON::MissingUnicodeSupport
- JSON::NestingError
- JSON::ParserError
- JSON::Pure
- JSON::Pure::Generator
- JSON::Pure::Generator::GeneratorMethods
- JSON::Pure::Generator::GeneratorMethods::Array
- JSON::Pure::Generator::GeneratorMethods::FalseClass
- JSON::Pure::Generator::GeneratorMethods::Float
- JSON::Pure::Generator::GeneratorMethods::Hash
- JSON::Pure::Generator::GeneratorMethods::Integer
- JSON::Pure::Generator::GeneratorMethods::NilClass
- JSON::Pure::Generator::GeneratorMethods::Object
- JSON::Pure::Generator::GeneratorMethods::String
- JSON::Pure::Generator::GeneratorMethods::String::Extend
- JSON::Pure::Generator::GeneratorMethods::TrueClass
- JSON::Pure::Generator::State
- JSON::Pure::Parser
- JSON::UnparserError
- BigDecimal
- Class
- Complex
- Date
- DateTime
- Exception
- Kernel
- OpenStruct
- Range
- Rational
- Regexp
- Struct
- Symbol
- Time

No matching classes.

# 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 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 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

[Validate]

Generated with the Darkfish Rdoc Generator 2.