lib/asynchronous/kernel.rb in asynchronous-3.0.1 vs lib/asynchronous/kernel.rb in asynchronous-4.0.0.pre
- old
+ new
@@ -8,34 +8,35 @@
#
# var = async :parallelism do
# "some awsome ruby code here!"
# end
#
-module Kernel
+module Asynchronous::DCI
- def async type= :VM ,&block
+ extend self
+ def async(type= :VM, &block)
case type.to_s.downcase[0]
+
# Concurrency / VM / Green
- when "c","v","g"
- begin
- Asynchronous::Concurrency.new(block)
- end
+ when *%W[ c v g ]
+ ::Asynchronous::Concurrency.new(&block)
+
# Parallelism / OS / Native
- when "p","o","n"
- begin
- Asynchronous::Parallelism.new(block)
- end
+ when *%W[ p o n ]
+ ::Asynchronous::Parallelism.new(&block)
+
else
- begin
- Asynchronous::Concurrency.new(block)
- end
+ ::Asynchronous::Concurrency.new(&block)
end
-
end
- def shared_memory
- Asynchronous::SharedMemory
- end unless method_defined? :shared_memory
+end
+
+Kernel.class_eval do
+
+ def async(type=nil, &block)
+ ::Asynchronous::DCI.async(type, &block)
+ end
end
\ No newline at end of file