class Watir::Wait::Timer
Public Class Methods
new(timeout: nil)
click to toggle source
# File lib/watir/wait/timer.rb, line 4 def initialize(timeout: nil) @end_time = timeout ? current_time + timeout : nil @remaining_time = @end_time - current_time if @end_time end
Public Instance Methods
locked?()
click to toggle source
# File lib/watir/wait/timer.rb, line 33 def locked? !@end_time.nil? end
remaining_time()
click to toggle source
# File lib/watir/wait/timer.rb, line 25 def remaining_time @end_time - current_time end
reset!()
click to toggle source
# File lib/watir/wait/timer.rb, line 29 def reset! @end_time = nil end
wait(timeout) { |block| ... }
click to toggle source
Executes given block until it returns true or exceeds timeout. @param [Integer] timeout @yield block @api private
# File lib/watir/wait/timer.rb, line 16 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
Private Instance Methods
current_time()
click to toggle source
# File lib/watir/wait/timer.rb, line 40 def current_time Process.clock_gettime(Process::CLOCK_MONOTONIC) end