mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00

sleep() is strict. Allow more liberal values like ActiveSupport::Durations: Fog.wait(1.hour, 10.seconds) { … }
17 lines
318 B
Ruby
17 lines
318 B
Ruby
module Fog
|
|
|
|
def self.wait_for(timeout=Fog.timeout, interval=1, &block)
|
|
duration = 0
|
|
start = Time.now
|
|
until yield || duration > timeout
|
|
sleep(interval.to_f)
|
|
duration = Time.now - start
|
|
end
|
|
if duration > timeout
|
|
false
|
|
else
|
|
{ :duration => duration }
|
|
end
|
|
end
|
|
|
|
end
|