Class: Watir::Wait::Timer
- Inherits:
-
Object
- Object
- Watir::Wait::Timer
- Defined in:
- lib/watir/wait/timer.rb
Instance Method Summary collapse
-
#initialize(timeout: nil) ⇒ Timer
constructor
A new instance of Timer.
- #locked? ⇒ Boolean
- #remaining_time ⇒ Object
- #reset! ⇒ Object
-
#wait(timeout) { ... } ⇒ Object
private
Executes given block until it returns true or exceeds timeout.
Constructor Details
#initialize(timeout: nil) ⇒ Timer
Returns a new instance of Timer.
6 7 8 9 |
# File 'lib/watir/wait/timer.rb', line 6 def initialize(timeout: nil) @end_time = timeout ? current_time + timeout : nil @remaining_time = @end_time - current_time if @end_time end |
Instance Method Details
#locked? ⇒ Boolean
35 36 37 |
# File 'lib/watir/wait/timer.rb', line 35 def locked? !@end_time.nil? end |
#remaining_time ⇒ Object
27 28 29 |
# File 'lib/watir/wait/timer.rb', line 27 def remaining_time @end_time - current_time end |
#reset! ⇒ Object
31 32 33 |
# File 'lib/watir/wait/timer.rb', line 31 def reset! @end_time = nil end |
#wait(timeout) { ... } ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Executes given block until it returns true or exceeds timeout.
18 19 20 21 22 23 24 25 |
# File 'lib/watir/wait/timer.rb', line 18 def wait(timeout, &block) end_time = @end_time || (current_time + timeout) loop do yield(block) @remaining_time = end_time - current_time break if @remaining_time.negative? end end |