Sha256: 3fdc8ce45a1e07b03b2c30ade65cce68d0f8367b08be31c34800d976707c082e

Contents?: true

Size: 500 Bytes

Versions: 8

Compression:

Stored size: 500 Bytes

Contents

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

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
fog-core-1.29.0 lib/fog/core/wait_for.rb
fog-core-1.28.0 lib/fog/core/wait_for.rb
fog-core-1.27.4 lib/fog/core/wait_for.rb
fog-core-1.27.3 lib/fog/core/wait_for.rb
fog-core-1.27.2 lib/fog/core/wait_for.rb
fog-core-1.27.1 lib/fog/core/wait_for.rb
fog-core-1.27.0 lib/fog/core/wait_for.rb
fog-core-1.25.0 lib/fog/core/wait_for.rb