Class: MrDarcy::Deferred

Inherits:
Object
  • Object
show all
Defined in:
lib/mr_darcy/deferred.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}, &block) ⇒ Deferred

Returns a new instance of Deferred.



20
21
22
23
24
# File 'lib/mr_darcy/deferred.rb', line 20

def initialize opts={}, &block
  driver = opts[:driver] || MrDarcy.driver
  self.promise = MrDarcy::Promise.new(driver: driver) {}
  self.last_promise = promise
end

Instance Attribute Details

#last_promiseObject

Returns the value of attribute last_promise.



4
5
6
# File 'lib/mr_darcy/deferred.rb', line 4

def last_promise
  @last_promise
end

#promiseObject

Returns the value of attribute promise.



4
5
6
# File 'lib/mr_darcy/deferred.rb', line 4

def promise
  @promise
end

Instance Method Details

#fail(&block) ⇒ Object



16
17
18
# File 'lib/mr_darcy/deferred.rb', line 16

def fail &block
  self.last_promise = last_promise.fail(&block)
end

#then(&block) ⇒ Object



12
13
14
# File 'lib/mr_darcy/deferred.rb', line 12

def then &block
  self.last_promise = last_promise.then(&block)
end