Class: RollingTimeout
- Inherits:
-
Object
- Object
- RollingTimeout
- Defined in:
- lib/rolling_timeout.rb,
lib/rolling_timeout/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Method Summary collapse
-
#initialize(time_in_seconds, &block) ⇒ RollingTimeout
constructor
A new instance of RollingTimeout.
- #reset ⇒ Object
- #start ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize(time_in_seconds, &block) ⇒ RollingTimeout
Returns a new instance of RollingTimeout.
6 7 8 9 10 11 12 13 14 |
# File 'lib/rolling_timeout.rb', line 6 def initialize(time_in_seconds, &block) @time_in_seconds = time_in_seconds start @timed_out = false @code_thread = Thread.new{ yield self } @code_thread.join @timer_thread.join if @timed_out end |
Instance Method Details
#reset ⇒ Object
16 17 18 19 |
# File 'lib/rolling_timeout.rb', line 16 def reset stop start end |
#start ⇒ Object
25 26 27 |
# File 'lib/rolling_timeout.rb', line 25 def start @timer_thread = new_timer_thread end |
#stop ⇒ Object
21 22 23 |
# File 'lib/rolling_timeout.rb', line 21 def stop @timer_thread.kill end |