Module: EventuallyHelper

Defined in:
lib/eventually_helper.rb,
lib/eventually_helper/version.rb

Constant Summary collapse

VERSION =
"0.0.2"

Instance Method Summary collapse

Instance Method Details

#eventually(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/eventually_helper.rb', line 4

def eventually(options = {})
  timeout = options[:timeout] || 10
  interval = options[:interval] || 0.1
  time_limit = Time.now + timeout
  loop do
    begin
      yield
    rescue StandardError, RSpec::Expectations::ExpectationNotMetError => error
    end
    return if error.nil?
    raise error if Time.now >= time_limit
    sleep interval
  end
end