Class: MrDarcy::Promise::ChildPromise

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ ChildPromise

Returns a new instance of ChildPromise.



7
8
9
# File 'lib/mr_darcy/promise/child_promise.rb', line 7

def initialize opts={}
  self.promise = MrDarcy.promise(opts) {}
end

Instance Attribute Details

#promiseObject

Returns the value of attribute promise.



5
6
7
# File 'lib/mr_darcy/promise/child_promise.rb', line 5

def promise
  @promise
end

#reject_blockObject

Returns the value of attribute reject_block.



5
6
7
# File 'lib/mr_darcy/promise/child_promise.rb', line 5

def reject_block
  @reject_block
end

#resolve_blockObject

Returns the value of attribute resolve_block.



5
6
7
# File 'lib/mr_darcy/promise/child_promise.rb', line 5

def resolve_block
  @resolve_block
end

Instance Method Details

#parent_rejected(value) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/mr_darcy/promise/child_promise.rb', line 23

def parent_rejected value
  begin
    return reject_with value unless handles_reject?

    new_value = result_for :reject, value
    return defer_resolution_via new_value if thenable? new_value
    resolve_with new_value
  rescue Exception => e
    handle_exception e
  end
end

#parent_resolved(value) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/mr_darcy/promise/child_promise.rb', line 11

def parent_resolved value
  begin
    return resolve_with value unless handles_resolve?

    new_value = result_for :resolve, value
    return defer_resolution_via new_value if thenable? new_value
    resolve_with new_value
  rescue Exception => e
    handle_exception e
  end
end