class TimeDistribution::TaskList

Attributes

date[R]
tasks[R]

Public Instance Methods

time_worked(*subjects) click to toggle source
# File lib/time_distribution/task_list.rb, line 8
def time_worked(*subjects)
  inject({}) do |times, t|
    t_subject = t.subject
    if subjects.empty? || subjects.include?(t_subject)
      if times[t_subject]
        times[t_subject] += t.time_taken
      else
        times[t_subject] = Duration.new(t.time_taken)
      end
    end
    times
  end
end
to_hours(*subjects) click to toggle source
# File lib/time_distribution/task_list.rb, line 22
def to_hours(*subjects)
  inject(0) do |hours, task|
    if subjects.empty? || subjects.include?(task.subject)
      hours += task.to_hours
    end
    hours
  end
end
to_md() click to toggle source
# File lib/time_distribution/task_list.rb, line 31
def to_md
  inject('') do |task_string, t|
    task_string += "- #{t.to_s}\n"
  end
end
to_ssv() click to toggle source
# File lib/time_distribution/task_list.rb, line 37
def to_ssv
  inject('') do |task_string, t|
    task_string += "#{t.to_ssv}\n"
  end
end