Class: WhatHaveIDone::Runner
- Inherits:
-
Object
- Object
- WhatHaveIDone::Runner
- Defined in:
- lib/what_have_i_done/runner.rb
Instance Method Summary collapse
-
#initialize ⇒ Runner
constructor
A new instance of Runner.
- #run ⇒ Object
Constructor Details
#initialize ⇒ Runner
Returns a new instance of Runner.
5 6 7 |
# File 'lib/what_have_i_done/runner.rb', line 5 def initialize() @client = TogglV8::API.new end |
Instance Method Details
#run ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/what_have_i_done/runner.rb', line 9 def run entries = client.get_time_entries(start_date: Date.today.to_datetime) entries_by_project = entries.group_by { |entry| entry["pid"] } projects = entries_by_project.keys.map { |pid| client.get_project(pid) } projects.each do |project| project_entries = entries_by_project[project["id"]] time_spent = duration_for_entries(project_entries) entries_str = project_entries.map do |entry| entry["description"] end.uniq.join('; ') subtitle project['name'] subtitle "#{seconds_as_time(time_spent)} (#{seconds_as_hours(time_spent)})" text "#{entries_str}\n\n" end total_time = duration_for_entries(entries) title "Total time today:" title "#{seconds_as_time(total_time)} (#{seconds_as_hours(total_time)})" end |