Class: MrDarcy::Deferred
- Inherits:
-
Object
- Object
- MrDarcy::Deferred
- Extended by:
- Forwardable
- Defined in:
- lib/mr_darcy/deferred.rb
Overview
A wrapper around promises that can be externally resolved.
Instance Attribute Summary collapse
-
#last_promise ⇒ Object
readonly
Returns the value of attribute last_promise.
-
#promise ⇒ Object
readonly
Returns the value of attribute promise.
Instance Method Summary collapse
-
#fail(&block) ⇒ Object
See MrDarcy::Promise::Base#fail.
-
#initialize(opts = {}) ⇒ Deferred
constructor
Create a new deferred.
-
#then(&block) ⇒ Object
See MrDarcy::Promise::Base#then.
Constructor Details
#initialize(opts = {}) ⇒ Deferred
Create a new deferred. Takes the following options:
-
driver: override the default driver for this promise.
27 28 29 30 31 |
# 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 |
Instance Attribute Details
#last_promise ⇒ Object
Returns the value of attribute last_promise
11 12 13 |
# File 'lib/mr_darcy/deferred.rb', line 11 def last_promise @last_promise end |
#promise ⇒ Object
Returns the value of attribute promise
11 12 13 |
# File 'lib/mr_darcy/deferred.rb', line 11 def promise @promise end |
Instance Method Details
#fail(&block) ⇒ Object
See MrDarcy::Promise::Base#fail
19 20 21 |
# File 'lib/mr_darcy/deferred.rb', line 19 def fail &block self.last_promise = last_promise.fail(&block) end |
#then(&block) ⇒ Object
See MrDarcy::Promise::Base#then
14 15 16 |
# File 'lib/mr_darcy/deferred.rb', line 14 def then &block self.last_promise = last_promise.then(&block) end |