| Class | Timer |
| In: |
lib/more/facets/timer.rb
|
| Parent: | Object |
Provides a strightforward means for controlling time critical execution. Can be used as a "stop watch" timer or as a "time bomb" timer.
t = Timer.new(10) { raise TimeoutError, "timeout!" }
t.start
: # done within 10sec timeout
t.stop
t.start
:
if condition then
t.reset #--> restart timer
end
A Kernel method is also provided for easily timing the exectuion of a block.
timed { |timer|
timer.total_time.round #=> 0
sleep 1
timer.total_time.round #=> 1
timer.stop
timer.total_time.round #=> 1
sleep 2
timer.total_time.round #=> 1
timer.start
timer.total_time.round #=> 1
sleep 1
timer.total_time.round #=> 2
}