class Ptimelog::Command::Show
show entries of one day or all of them
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
Ptimelog::Command::Base::new
# File lib/ptimelog/command/show.rb, line 7 def initialize(*args) @durations = Hash.new(0) super end
Public Instance Methods
duration(date)
click to toggle source
# File lib/ptimelog/command/show.rb, line 45 def duration(date) Time.at(@durations[date]).utc.strftime('%H:%M') end
entries=(entries)
click to toggle source
# File lib/ptimelog/command/show.rb, line 34 def entries=(entries) entries.each do |date, list| @entries[date] = [] list.each do |entry| @durations[date] += entry.duration @entries[date] << entry.to_s end end end
needs_entries?()
click to toggle source
# File lib/ptimelog/command/show.rb, line 13 def needs_entries? true end
run()
click to toggle source
# File lib/ptimelog/command/show.rb, line 17 def run @entries.each do |date, list| puts date, '----------' next if list.empty? list.each do |entry| puts entry end puts '----------', "Total work done: #{duration(date)} hours", '----------------------------', nil end end