class MrDarcy::Deferred
A wrapper around promises that can be externally resolved.
Attributes
last_promise[RW]
promise[RW]
Public Class Methods
new(opts={})
click to toggle source
Create a new deferred. Takes the following options:
-
driver: override the default driver for this promise.
# File lib/mr_darcy/deferred.rb, line 27 def initialize opts={} driver = opts[:driver] || MrDarcy.driver self.promise = MrDarcy::Promise.new(driver: driver) {} self.last_promise = promise end
Public Instance Methods
fail(&block)
click to toggle source
See MrDarcy::Promise::Base#fail
# File lib/mr_darcy/deferred.rb, line 19 def fail &block self.last_promise = last_promise.fail(&block) end
then(&block)
click to toggle source
See MrDarcy::Promise::Base#then
# File lib/mr_darcy/deferred.rb, line 14 def then &block self.last_promise = last_promise.then(&block) end