Sha256: 30acee5db1fae28fde02a1b1ecc96024b99f4a64c61260adc1b01cfcfab0e340
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
require 'date' require 'forwardable' module RescueTimeApi class Response attr_accessor :response extend Forwardable def_delegators :@response, :body, :headers def initialize(response) @response = response end def row_headers @row_headers ||= body['row_headers'].map { |row_name| key_mapping[row_name] } end def rows @rows ||= body["rows"].map { |row| map_row(row) } end 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 def key_mapping { "Person" => 'person', "Rank" => 'rank', "Time Spent (seconds)" => 'seconds', "Number of People" => 'people', "Activity" => 'activity', "Category" => 'category', "Productivity" => 'productivity', "Date" => "date" } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rescue_time_api-0.0.2 | lib/rescue_time_api/response.rb |