Class: MrDarcy::Promise::Celluloid::Actor

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

Instance Method Summary collapse

Constructor Details

#initializeActor

Returns a new instance of Actor.



9
10
11
# File 'lib/mr_darcy/promise/celluloid.rb', line 9

def initialize
  @complete = false
end

Instance Method Details

#await_completionObject



36
37
38
39
# File 'lib/mr_darcy/promise/celluloid.rb', line 36

def await_completion
  return if @complete
  wait :complete
end

#on_failure(block) ⇒ Object



32
33
34
# File 'lib/mr_darcy/promise/celluloid.rb', line 32

def on_failure block
  @failure = block
end

#on_success(block) ⇒ Object



28
29
30
# File 'lib/mr_darcy/promise/celluloid.rb', line 28

def on_success block
  @success = block
end

#schedule(block) ⇒ Object



13
14
15
# File 'lib/mr_darcy/promise/celluloid.rb', line 13

def schedule block
  ::Celluloid::Future.new &block
end

#set_status(status, value) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/mr_darcy/promise/celluloid.rb', line 17

def set_status status, value
  case status
  when :success
    @success.call value
  when :failure
    @failure.call value
  end
  signal :complete
  @complete = true
end