Support for the Ruby 2.4 series has ended. See here for reference.

In Files

  • json/lib/json/add/date_time.rb

Parent

DateTime

Public Class Methods

json_create(object) click to toggle source

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.

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

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/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
            
to_json(*args) click to toggle source

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

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