Module: AePageObjects::Waiter
- Defined in:
- lib/ae_page_objects/util/waiter.rb
Class Method Summary collapse
- .wait_for(*args, &block) ⇒ Object
- .wait_until(timeout = nil, &block) ⇒ Object
- .wait_until!(timeout = nil) ⇒ Object
Class Method Details
.wait_for(*args, &block) ⇒ Object
20 21 22 |
# File 'lib/ae_page_objects/util/waiter.rb', line 20 def self.wait_for(*args, &block) wait_until(*args, &block) end |
.wait_until(timeout = nil, &block) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/ae_page_objects/util/waiter.rb', line 3 def self.wait_until(timeout = nil, &block) seconds_to_wait = timeout || Capybara.default_wait_time start_time = Time.now until result = Capybara.using_wait_time(0, &block) delay = seconds_to_wait - (Time.now - start_time) if delay <= 0 return false end sleep(0.05) end result end |
.wait_until!(timeout = nil) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ae_page_objects/util/waiter.rb', line 24 def self.wait_until!(timeout = nil) result = wait_until(timeout) do yield end unless result raise WaitTimeoutError, "Timed out waiting for condition" end result end |