Sha256: e17180abe2fd519e72c4bbcb259f4d2c504f823533599c2c178da741f621c697
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
module Taskinator module Queues def self.create_test_queue_adapter(config={}) TestQueueAdapter.new(config) end def self.create_test_queue_worker_adapter(config={}) TestQueueWorkerAdapter.new(config) end # # this is a no-op adapter, it tracks enqueued processes and tasks # class TestQueueAdapter def initialize(config={}) clear end def enqueue_create_process(definition, uuid, args) @processes << [definition, uuid, args] end def enqueue_task(task) @tasks << task end # helpers attr_reader :processes attr_reader :tasks def clear @processes = [] @tasks = [] end def empty? @processes.empty? && @tasks.empty? end end # # this is a "synchronous" implementation for use in testing # class TestQueueWorkerAdapter < TestQueueAdapter def enqueue_create_process(definition, uuid, args) super invoke do Taskinator::CreateProcessWorker.new(definition.name, uuid, args).perform end end def enqueue_task(task) super invoke do Taskinator::TaskWorker.new(task.uuid).perform end end private def invoke(&block) block.call end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
taskinator-0.5.2 | spec/support/test_queue.rb |
taskinator-0.5.1 | spec/support/test_queue.rb |
taskinator-0.5.0 | spec/support/test_queue.rb |