Class: Eztz::TimeZoneResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/eztz/response.rb

Overview

Encapsulates the data from the timezone api

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(timestamp, response) ⇒ TimeZoneResponse



43
44
45
46
47
48
49
50
# File 'lib/eztz/response.rb', line 43

def initialize(timestamp, response)
  @timestamp = timestamp
  @dst_offset, @error_message, @raw_offset, @status, @id, @name =
    response.values_at(
      'dstOffset', 'error_message', 'rawOffset', 'status', 'timeZoneId',
      'timeZoneName'
    )
end

Instance Attribute Details

#dst_offsetInteger (readonly)



38
39
40
# File 'lib/eztz/response.rb', line 38

def dst_offset
  @dst_offset
end

#error_messageString (readonly)



38
39
# File 'lib/eztz/response.rb', line 38

attr_reader :dst_offset, :error_message, :id, :name,
:raw_offset, :status, :timestamp

#idString (readonly)



38
39
# File 'lib/eztz/response.rb', line 38

attr_reader :dst_offset, :error_message, :id, :name,
:raw_offset, :status, :timestamp

#nameString (readonly)



38
39
# File 'lib/eztz/response.rb', line 38

attr_reader :dst_offset, :error_message, :id, :name,
:raw_offset, :status, :timestamp

#raw_offsetInteger (readonly)



38
39
# File 'lib/eztz/response.rb', line 38

attr_reader :dst_offset, :error_message, :id, :name,
:raw_offset, :status, :timestamp

#statusString (readonly)



38
39
# File 'lib/eztz/response.rb', line 38

attr_reader :dst_offset, :error_message, :id, :name,
:raw_offset, :status, :timestamp

#timestampObject (readonly)

Returns the value of attribute timestamp.



38
39
# File 'lib/eztz/response.rb', line 38

attr_reader :dst_offset, :error_message, :id, :name,
:raw_offset, :status, :timestamp

Instance Method Details

#local_timeTime

The local time of the location is the sum of the :timestamp, :dst_offset and :raw_offset.



59
60
61
# File 'lib/eztz/response.rb', line 59

def local_time
  Time.at(timestamp.to_i + dst_offset.to_i + raw_offset.to_i)
end

#success?Boolean



52
53
54
# File 'lib/eztz/response.rb', line 52

def success?
  status == 'OK'
end

#to_hHash

The object as a Hash.



65
66
67
68
69
70
71
72
73
74
75
# File 'lib/eztz/response.rb', line 65

def to_h
  {
    dst_offset:    dst_offset,
    error_message: error_message,
    id:            id,
    name:          name,
    raw_offset:    raw_offset,
    status:        status,
    timestamp:     timestamp
  }
end