module Webspicy::Support
Constants
- SORL_OPTS
Public Class Methods
_sooner_or_later(&bl)
click to toggle source
# File lib/webspicy/support.rb, line 21 def _sooner_or_later(&bl) bl.call rescue Tester::Failure => ex ex end
sooner_or_later(opts = nil, &bl)
click to toggle source
# File lib/webspicy/support.rb, line 6 def sooner_or_later(opts = nil, &bl) opts = SORL_OPTS.merge(opts || {}) left, wait_ms = opts[:max], opts[:wait] r = _sooner_or_later(&bl) until (r && !r.is_a?(Tester::Failure)) || left == 0 sleep(wait_ms) wait_ms, left = wait_ms*2, left - 1 r = _sooner_or_later(&bl) end raise r if r.is_a?(Tester::Failure) raise TimeoutError, "Timeout on sooner-or-later" if r.nil? && opts[:raise] r end
Private Instance Methods
_sooner_or_later(&bl)
click to toggle source
# File lib/webspicy/support.rb, line 21 def _sooner_or_later(&bl) bl.call rescue Tester::Failure => ex ex end
sooner_or_later(opts = nil, &bl)
click to toggle source
# File lib/webspicy/support.rb, line 6 def sooner_or_later(opts = nil, &bl) opts = SORL_OPTS.merge(opts || {}) left, wait_ms = opts[:max], opts[:wait] r = _sooner_or_later(&bl) until (r && !r.is_a?(Tester::Failure)) || left == 0 sleep(wait_ms) wait_ms, left = wait_ms*2, left - 1 r = _sooner_or_later(&bl) end raise r if r.is_a?(Tester::Failure) raise TimeoutError, "Timeout on sooner-or-later" if r.nil? && opts[:raise] r end