module Capybara::Widgets::AsyncHelper

Public Instance Methods

eventually(options = {}) { || ... } click to toggle source
# File lib/capybara/widgets/helpers/async_helper.rb, line 4
def eventually(options = {})
  timeout = options[:timeout] || Capybara.default_max_wait_time
  interval = options[:interval] || 0.1
  time_limit = Time.now + timeout
  loop do
    begin
      result = yield
    rescue => error
    end
    return result if error.nil?
    raise error if Time.now >= time_limit
    sleep interval
  end
end