Sha256: 3d2d4c17903894c44cfefcdb823ad51b644ff04eb314ddfcec9271709a5577d3
Contents?: true
Size: 1.02 KB
Versions: 8
Compression:
Stored size: 1.02 KB
Contents
module Fog module Models module ProfitBricks class Base < Fog::Model def wait_for(timeout = Fog.timeout, interval = Fog.interval, &block) reload_has_succeeded = false duration = Fog.wait_for(timeout, interval) do # Note that duration = false if it times out if ready? reload_has_succeeded = true instance_eval(&block) else false end end if reload_has_succeeded return duration # false if timeout; otherwise {:duration => elapsed time } else raise Fog::Errors::Error, "Reload failed, #{self.class} #{identity} not present." end end def request_status(request_id) request = service.requests.get_status(request_id) request.status end def ready? request_status(request_id) == 'DONE' end def failed? request_status(request_id) == 'FAILED' end end end end end
Version data entries
8 entries across 6 versions & 2 rubygems