class MrDarcy::Promise::Celluloid::Actor
Each promise gets it’s own actor thread.
Public Class Methods
new()
click to toggle source
# File lib/mr_darcy/promise/celluloid.rb, line 16 def initialize @complete = false end
Public Instance Methods
await_completion()
click to toggle source
# File lib/mr_darcy/promise/celluloid.rb, line 43 def await_completion return if @complete wait :complete end
on_failure(block)
click to toggle source
# File lib/mr_darcy/promise/celluloid.rb, line 39 def on_failure block @failure = block end
on_success(block)
click to toggle source
# File lib/mr_darcy/promise/celluloid.rb, line 35 def on_success block @success = block end
schedule(block)
click to toggle source
# File lib/mr_darcy/promise/celluloid.rb, line 20 def schedule block ::Celluloid::Future.new &block end
set_status(status, value)
click to toggle source
# File lib/mr_darcy/promise/celluloid.rb, line 24 def set_status status, value case status when :success @success.call value when :failure @failure.call value end signal :complete @complete = true end