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