123456789_123456789_123456789_123456789_123456789_

Class: DateTime

Relationships & Source Files
Inherits: Object
Defined in: ext/json/lib/json/add/date_time.rb

Class Method Summary

  • .json_create(object)

    Deserializes JSON string by converting year y, month m, day d, hour H, minute M, second S, offset of and Day of Calendar Reform sg to DateTime.

Instance Method Summary

  • #as_json

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

  • #start
  • #to_json(*args)

    Stores class name (DateTime) with Julian year y, month m, day d, hour H, minute M, second S, offset of and Day of Calendar Reform sg as ::JSON string.

Class Method Details

.json_create(object)

Deserializes JSON string by converting year y, month m, day d, hour H, minute M, second S, offset of and Day of Calendar Reform sg to DateTime.

[ GitHub ]

  
# File 'ext/json/lib/json/add/date_time.rb', line 12

def self.json_create(object)
  args = object.values_at('y', 'm', 'd', 'H', 'M', 'S')
  of_a, of_b = object['of'].split('/')
  if of_b and of_b != '0'
    args << Rational(of_a.to_i, of_b.to_i)
  else
    args << of_a
  end
  args << object['sg']
  civil(*args)
end

Instance Method Details

#as_json

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

[ GitHub ]

  
# File 'ext/json/lib/json/add/date_time.rb', line 28

def as_json(*)
  {
    JSON.create_id => self.class.name,
    'y' => year,
    'm' => month,
    'd' => day,
    'H' => hour,
    'M' => min,
    'S' => sec,
    'of' => offset.to_s,
    'sg' => start,
  }
end

#start

[ GitHub ]

  
# File 'ext/json/lib/json/add/date_time.rb', line 24

alias start sg unless method_defined?(:start)

#to_json(*args)

Stores class name (DateTime) with Julian year y, month m, day d, hour H, minute M, second S, offset of and Day of Calendar Reform sg as ::JSON string

[ GitHub ]

  
# File 'ext/json/lib/json/add/date_time.rb', line 45

def to_json(*args)
  as_json.to_json(*args)
end