Sha256: c29f13ad83b1894f2f68cc0a600c5a629958cfd419f2bb624a85e56ac813c56e
Contents?: true
Size: 1004 Bytes
Versions: 8
Compression:
Stored size: 1004 Bytes
Contents
module LIFX # @private module Utilities def try_until(condition_proc, timeout_exception: Timeout::Error, timeout: 3, condition_interval: 0.1, action_interval: 0.5, signal: nil, &action_block) Timeout.timeout(timeout) do m = Mutex.new time = 0 while !condition_proc.call if Time.now.to_f - time > action_interval time = Time.now.to_f action_block.call end if signal m.synchronize do signal.wait(m, condition_interval) end else sleep(condition_interval) end end end rescue Timeout::Error raise timeout_exception if timeout_exception end def tag_ids_from_field(tags_field) (0...64).to_a.select { |t| (tags_field & (2 ** t)) > 0 } end end end
Version data entries
8 entries across 8 versions & 1 rubygems