Module: Chemlab::Support::Waiter

Extended by:
Repeater
Defined in:
lib/chemlab/support/waiter.rb

Constant Summary

Constants included from Repeater

Repeater::DEFAULT_MAX_WAIT_TIME, Repeater::RetriesExceededError, Repeater::WaitExceededError

Class Method Summary collapse

Methods included from Repeater

repeat_until

Class Method Details

.wait_until(max_duration: singleton_class::DEFAULT_MAX_WAIT_TIME, reload_page: nil, sleep_interval: 0.1, raise_on_failure: true, retry_on_exception: false, log: true) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/chemlab/support/waiter.rb', line 10

def wait_until(max_duration: singleton_class::DEFAULT_MAX_WAIT_TIME, reload_page: nil, sleep_interval: 0.1, raise_on_failure: true, retry_on_exception: false, log: true)
  if log
    QA::Runtime::Logger.debug(
      "        with wait_until: max_duration: \#{max_duration};\n        reload_page: \#{reload_page};\n        sleep_interval: \#{sleep_interval};\n        raise_on_failure: \#{raise_on_failure}\n    MSG\n    )\n  end\n\n  result = nil\n  self.repeat_until(\n    max_duration: max_duration,\n    reload_page: reload_page,\n    sleep_interval: sleep_interval,\n    raise_on_failure: raise_on_failure,\n    retry_on_exception: retry_on_exception,\n    log: log\n  ) do\n    result = yield\n  end\n  QA::Runtime::Logger.debug(\"ended wait_until\") if log\n\n  result\nend\n".tr("\n", ' ')