Class: MrDarcy::Promise::Celluloid

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

Defined Under Namespace

Classes: Actor

Instance Method Summary collapse

Methods inherited from Base

#fail, #raise, #then

Constructor Details

#initialize(*args) ⇒ Celluloid

Returns a new instance of Celluloid.



42
43
44
45
46
47
48
# File 'lib/mr_darcy/promise/celluloid.rb', line 42

def initialize *args
  @complete = false
  ensure_actor
  actor.on_success proc { |v| do_resolve v }
  actor.on_failure proc { |v| do_reject v }
  super
end

Instance Method Details

#finalObject



65
66
67
68
# File 'lib/mr_darcy/promise/celluloid.rb', line 65

def final
  wait_until_complete
  self
end

#reject(value) ⇒ Object



55
56
57
58
# File 'lib/mr_darcy/promise/celluloid.rb', line 55

def reject value
  actor.async.set_status :failure, value
  self
end

#resolve(value) ⇒ Object



50
51
52
53
# File 'lib/mr_darcy/promise/celluloid.rb', line 50

def resolve value
  actor.async.set_status :success, value
  self
end

#resultObject



60
61
62
63
# File 'lib/mr_darcy/promise/celluloid.rb', line 60

def result
  wait_until_complete
  value
end