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