Class: SubTime::Timer

Inherits:
Object
  • Object
show all
Defined in:
lib/subtime/timer.rb

Instance Method Summary collapse

Constructor Details

#initialize(output, minutes, messages = nil) ⇒ Timer

Returns a new instance of Timer.



7
8
9
10
11
# File 'lib/subtime/timer.rb', line 7

def initialize(output, minutes, messages=nil)
  @output = output
  @minutes = minutes
  @messages = messages
end

Instance Method Details

#alert_startObject



29
30
31
# File 'lib/subtime/timer.rb', line 29

def alert_start
  @output.puts "Starting timer for #{@minutes} minutes..."
end

#count_downObject



19
20
21
22
23
24
25
26
27
# File 'lib/subtime/timer.rb', line 19

def count_down
  @minutes.downto 1 do |minute|
    sleep 60
    @output.puts minute
    if @messages && @messages[minute]
      @messages[minute].call
    end
  end
end

#play_done_chimeObject



33
34
35
# File 'lib/subtime/timer.rb', line 33

def play_done_chime
  TimerVoice.say_message("timer done")
end

#startObject



13
14
15
16
17
# File 'lib/subtime/timer.rb', line 13

def start
  alert_start
  count_down
  play_done_chime
end