Sha256: ea2442aea834b1990d9d869f8c0f247cbede73cd5bb671703d288816987b03cd
Contents?: true
Size: 379 Bytes
Versions: 7
Compression:
Stored size: 379 Bytes
Contents
class DelayedPromise < Promise BrokenPromise = Class.new(StandardError) class << self def deferred @deferred ||= [] end def call_deferred deferred.shift.call until deferred.empty? end end def wait DelayedPromise.call_deferred raise BrokenPromise if pending? end def defer(&block) DelayedPromise.deferred << block end end
Version data entries
7 entries across 7 versions & 1 rubygems