module MrDarcy::Promise

Public Instance Methods

new(opts={}) click to toggle source
# File lib/mr_darcy/promise.rb, line 17
def new opts={}, &block
  driver = opts[:driver] || ::MrDarcy.driver
  case driver
  when :thread, :Thread
    ::MrDarcy::Promise::Thread.new block
  when :synchronous, :Synchronous
    ::MrDarcy::Promise::Synchronous.new block
  when :celluloid, :Celluloid
    ::MrDarcy::Promise::Celluloid.new block
  when :em, :EM, :event_machine, :eventmachine, :EventMachine
    ::MrDarcy::Promise::EM.new block
  else
    raise "Unknown driver #{driver}"
  end
end