1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/core/wait_for.rb

15 lines
418 B
Ruby

module Fog
def self.wait_for(timeout=Fog.timeout, interval=Fog.interval, &block)
duration = 0
start = Time.now
until yield || duration > timeout
sleep(interval.to_f)
duration = Time.now - start
end
if duration > timeout
raise Errors::TimeoutError.new("The specified wait_for timeout (#{timeout} seconds) was exceeded")
else
{ :duration => duration }
end
end
end