teamcapybara--capybara/lib/capybara/wait_until.rb

24 lines
420 B
Ruby
Raw Normal View History

module Capybara
#Provides timeout similar to standard library Timeout, but avoids threads
class WaitUntil
2010-01-01 16:48:39 +00:00
class << self
2010-01-01 16:48:39 +00:00
def timeout(seconds = 1, &block)
start_time = Time.now
2010-01-01 16:48:39 +00:00
result = nil
2010-01-01 16:48:39 +00:00
until result
return result if result = yield
2010-01-01 16:48:39 +00:00
if (Time.now - start_time) > seconds
raise TimeoutError
end
2010-01-01 16:48:39 +00:00
end
end
2010-01-01 16:48:39 +00:00
end
end
2010-01-01 16:48:39 +00:00
end