Module: MrDarcy
- Defined in:
- lib/mr_darcy/promise/synchronous.rb,
lib/mr_darcy.rb,
lib/mr_darcy/role.rb,
lib/mr_darcy/context.rb,
lib/mr_darcy/drivers.rb,
lib/mr_darcy/promise.rb,
lib/mr_darcy/version.rb,
lib/mr_darcy/deferred.rb,
lib/mr_darcy/promise/em.rb,
lib/mr_darcy/promise/dsl.rb,
lib/mr_darcy/promise/base.rb,
lib/mr_darcy/promise/state.rb,
lib/mr_darcy/drivers/thread.rb,
lib/mr_darcy/promise/thread.rb,
lib/mr_darcy/drivers/celluloid.rb,
lib/mr_darcy/promise/celluloid.rb,
lib/mr_darcy/promise/collection.rb,
lib/mr_darcy/promise/state/base.rb,
lib/mr_darcy/drivers/synchronous.rb,
lib/mr_darcy/promise/child_promise.rb,
lib/mr_darcy/promise/state/rejected.rb,
lib/mr_darcy/promise/state/resolved.rb,
lib/mr_darcy/promise/state/unresolved.rb
Overview
This class implements a synchronous interface to promise execution. It’s not much use, except for unit testing.
Defined Under Namespace
Modules: Drivers, Promise
Classes: Context, Deferred, Role
Constant Summary
collapse
- VERSION =
"0.4.0"
Class Method Summary
collapse
Class Method Details
.all_drivers ⇒ Object
19
20
21
22
23
24
|
# File 'lib/mr_darcy.rb', line 19
def all_drivers
return @drivers if @drivers && !@drivers.empty?
drivers ||= %w| synchronous thread celluloid em |.map(&:to_sym)
drivers.delete :em if RUBY_ENGINE=='jruby'
@drivers = drivers
end
|
.all_promises(opts = {}) ⇒ Object
.driver ⇒ Object
15
16
17
|
# File 'lib/mr_darcy.rb', line 15
def driver
@driver ||= :Thread
end
|
.driver=(driver) ⇒ Object
11
12
13
|
# File 'lib/mr_darcy.rb', line 11
def driver=(driver)
@driver=driver
end
|
.promise(opts = {}, &block) ⇒ Object
26
27
28
29
|
# File 'lib/mr_darcy.rb', line 26
def promise opts={}, &block
driver = opts[:driver] || self.driver
MrDarcy::Promise.new driver: driver, &block
end
|