class Pompom::Pomodoro
Attributes
message[R]
system_clock[W]
time_remaining[R]
Public Class Methods
new(time_remaining=1500, message=nil)
click to toggle source
# File lib/pompom.rb, line 103 def initialize(time_remaining=1500, message=nil) @time_remaining = time_remaining @message = message @system_clock = Kernel @observers = [] @finished_early = true end
Public Instance Methods
add_observer(object)
click to toggle source
# File lib/pompom.rb, line 111 def add_observer(object) @observers << object end
finish!()
click to toggle source
# File lib/pompom.rb, line 122 def finish! @time_remaining = 0 notify_observers end
finished?()
click to toggle source
# File lib/pompom.rb, line 131 def finished? @time_remaining < 1 end
finished_early?()
click to toggle source
# File lib/pompom.rb, line 127 def finished_early? @finished_early end
tick()
click to toggle source
# File lib/pompom.rb, line 115 def tick @system_clock.sleep 1 @time_remaining -= 1 @finished_early = false if @time_remaining == 0 notify_observers end
Private Instance Methods
notify_observers()
click to toggle source
# File lib/pompom.rb, line 137 def notify_observers @observers.each {|o| o.update(self) } end