class Versed::Category

Attributes

id[R]
tasks[R]

Public Class Methods

new(id, date_range) click to toggle source
# File lib/versed/category.rb, line 7
def initialize(id, date_range)
  @id = id
  @tasks = []
  date_range.each { |date| @tasks << Task.new(id, date) }
end

Public Instance Methods

incomplete?() click to toggle source
# File lib/versed/category.rb, line 13
def incomplete?
  total_min_incomplete > 0
end
percent_incomplete() click to toggle source
# File lib/versed/category.rb, line 40
def percent_incomplete
  ((total_min_incomplete / total_min_scheduled.to_f) * 100).round(1)
end
total_min_incomplete() click to toggle source
# File lib/versed/category.rb, line 35
def total_min_incomplete
  incomplete = total_min_scheduled - total_min_logged
  incomplete >= 0 ? incomplete : 0
end
total_min_logged() click to toggle source
# File lib/versed/category.rb, line 26
def total_min_logged
  logged = 0
  @tasks.each do |task|
    next unless task.time_spent
    logged += task.time_spent
  end
  logged
end
total_min_scheduled() click to toggle source
# File lib/versed/category.rb, line 17
def total_min_scheduled
  scheduled = 0
  @tasks.each do |task|
    next unless task.time_scheduled
    scheduled += task.time_scheduled
  end
  scheduled
end