Class: Versed::Day

Inherits:
Object
  • Object
show all
Defined in:
lib/versed/day.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(date) ⇒ Day

Returns a new instance of Day.



7
8
9
10
# File 'lib/versed/day.rb', line 7

def initialize(date)
  @date = date
  @tasks = []
end

Instance Attribute Details

#dateObject (readonly)

Returns the value of attribute date.



5
6
7
# File 'lib/versed/day.rb', line 5

def date
  @date
end

#tasksObject (readonly)

Returns the value of attribute tasks.



5
6
7
# File 'lib/versed/day.rb', line 5

def tasks
  @tasks
end

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


12
13
14
15
# File 'lib/versed/day.rb', line 12

def active?
  @tasks.each { |t| return true if t.time_spent? }
  false
end

#time_off_scheduleObject



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/versed/day.rb', line 30

def time_off_schedule
  time = 0
  @tasks.each do |task|
    next unless task.time_spent
    if !task.time_scheduled
      time += task.time_spent
    elsif task.time_scheduled < task.time_spent
      time += task.time_spent - task.time_scheduled
    end
  end
  time
end

#time_on_scheduleObject



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/versed/day.rb', line 17

def time_on_schedule
  time = 0
  @tasks.each do |task|
    next unless task.time_spent? && task.time_scheduled?
    if task.time_scheduled < task.time_spent
      time += task.time_scheduled
    else
      time += task.time_spent
    end
  end
  time
end

#time_scheduledObject



43
44
45
# File 'lib/versed/day.rb', line 43

def time_scheduled
  @tasks.collect { |t| t.time_scheduled? ? t.time_scheduled : 0 }.reduce(0, :+)
end