Class: Minder::Period

Inherits:
Object
  • Object
show all
Defined in:
lib/minder/pomodoro/period.rb

Direct Known Subclasses

BreakPeriod, IdlePeriod, WorkPeriod

Instance Method Summary collapse

Instance Method Details

#complete!Object



23
24
25
26
27
# File 'lib/minder/pomodoro/period.rb', line 23

def complete!
  Minder.play_sound('done.wav')
  self.ended_at = Time.now
  self.completed = true
end

#duration_in_minutes=(minutes) ⇒ Object



14
15
16
# File 'lib/minder/pomodoro/period.rb', line 14

def duration_in_minutes=(minutes)
  self.duration_in_seconds = minutes.to_i * 60
end

#elapsed?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/minder/pomodoro/period.rb', line 29

def elapsed?
  elapsed_time >= duration_in_seconds
end

#elapsed_timeObject



38
39
40
41
42
43
# File 'lib/minder/pomodoro/period.rb', line 38

def elapsed_time
  return 0 unless started_at
  return ended_at.to_i - started_at.to_i if ended_at

  (Time.now.to_time.to_i - started_at.to_time.to_i)
end

#messageObject



33
34
35
36
# File 'lib/minder/pomodoro/period.rb', line 33

def message
  "#{Minder.formatted_time(elapsed_time)} " \
    "(out of #{Minder.formatted_time(duration_in_seconds)})"
end

#start!Object



18
19
20
21
# File 'lib/minder/pomodoro/period.rb', line 18

def start!
  Minder.play_sound('start.wav')
  self.started_at = Time.now
end