lib/gb_dispatch.rb in gb_dispatch-0.0.3 vs lib/gb_dispatch.rb in gb_dispatch-0.0.4
- old
+ new
@@ -1,9 +1,9 @@
require 'gb_dispatch/version'
require 'gb_dispatch/manager'
-require 'celluloid'
+
# Library to dispatch block on queues.
# It is inspired by GCD but implementation is based on Celluloid.
# Current implementation ensure that block on queue will be executed in the same order
# as added, however it doesn't ensure on which thread it will run.
#
@@ -22,21 +22,21 @@
# Dispatch asynchronously on queue
# @param queue [Symbol, GBDispatch::Queue] queue object or name
# @yield block to execute
def self.dispatch_async(queue)
- queue = GBDispatch::Manager.instance.get_queue(queue) unless queue.is_a? GBDispatch::Queue
+ queue = get_queue(queue) unless queue.is_a? GBDispatch::Queue
GBDispatch::Manager.instance.run_async_on_queue queue do
yield
end
end
# Dispatch synchronously on queue and return result
# @param queue [Symbol, GBDispatch::Queue] queue object or name
# @yield block to execute
def self.dispatch_sync(queue)
- queue = GBDispatch::Manager.instance.get_queue(queue) unless queue.is_a? GBDispatch::Queue
+ queue = get_queue(queue) unless queue.is_a? GBDispatch::Queue
GBDispatch::Manager.instance.run_sync_on_queue queue do
yield
end
end
@@ -44,12 +44,12 @@
# Dispatch on queue with delay.
# @param delay [Fixnum, Float] delay in seconds
# @param queue [Symbol, GBDispatch::Queue] queue object or name
# @yield block to execute
def self.dispatch_after(delay, queue)
- queue = GBDispatch::Manager.instance.get_queue(queue) unless queue.is_a? GBDispatch::Queue
- GBDispatch::Manager.instance.run_async_on_queue queue do
+ queue = get_queue(queue) unless queue.is_a? GBDispatch::Queue
+ GBDispatch::Manager.instance.run_after_on_queue delay, queue do
yield
end
end
@@ -61,11 +61,7 @@
class << self
alias_method :dispatch_sync_on_queue, :dispatch_sync
alias_method :dispatch_async_on_queue, :dispatch_async
alias_method :dispatch_after_on_queue, :dispatch_after
- end
-
- at_exit do
- GBDispatch::Manager.instance.exit
end
end