Class: RescueTimeApi::Response

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/rescue_time_api/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ Response

Returns a new instance of Response.



11
12
13
# File 'lib/rescue_time_api/response.rb', line 11

def initialize(response)
  @response = response
end

Instance Attribute Details

#responseObject

Returns the value of attribute response.



7
8
9
# File 'lib/rescue_time_api/response.rb', line 7

def response
  @response
end

Instance Method Details

#key_mappingObject



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/rescue_time_api/response.rb', line 32

def key_mapping
  {
    "Person" => 'person',
    "Rank" => 'rank',
    "Time Spent (seconds)" => 'seconds',
    "Number of People" => 'people',
    "Activity" => 'activity',
    "Category" => 'category',
    "Productivity" => 'productivity',
    "Date" => "date"
  }
end

#map_row(row) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/rescue_time_api/response.rb', line 23

def map_row(row)
  mapped = Hash[row_headers.zip(row)]
  mapped['date'] = DateTime.parse(mapped['date']) if mapped['date']
  ['second','rank','people','productivity'].each do |key|
    mapped[key] = mapped[key].to_i if mapped[key]
  end
  mapped
end

#row_headersObject



15
16
17
# File 'lib/rescue_time_api/response.rb', line 15

def row_headers
  @row_headers ||= body['row_headers'].map { |row_name| key_mapping[row_name] }
end

#rowsObject



19
20
21
# File 'lib/rescue_time_api/response.rb', line 19

def rows
  @rows ||= body["rows"].map { |row| map_row(row) }
end