From 42a983ab57a3912d7cbf8df61a5b9943906702a7 Mon Sep 17 00:00:00 2001 From: bracken Date: Mon, 22 Feb 2010 17:09:35 -0700 Subject: [PATCH] The send_* options now insert in to the default configured queue if one is configured. --- lib/delayed/backend/base.rb | 2 +- spec/delayed_method_spec.rb | 29 ++++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/lib/delayed/backend/base.rb b/lib/delayed/backend/base.rb index 887a63e1d..f5fc3105a 100644 --- a/lib/delayed/backend/base.rb +++ b/lib/delayed/backend/base.rb @@ -23,7 +23,7 @@ def enqueue(*args) options = args.first || {} options[:priority] ||= 0 options[:payload_object] = object - + options[:queue] ||= Delayed::Worker.queue self.create(options) end end diff --git a/spec/delayed_method_spec.rb b/spec/delayed_method_spec.rb index 269963066..1c7490198 100644 --- a/spec/delayed_method_spec.rb +++ b/spec/delayed_method_spec.rb @@ -1,7 +1,10 @@ require 'spec_helper' describe 'random ruby objects' do - before { Delayed::Job.delete_all } + before :each do + Delayed::Worker.queue = nil + Delayed::Job.delete_all + end it "should respond_to :send_later method" do Object.new.respond_to?(:send_later) @@ -56,6 +59,19 @@ job.payload_object.args.should == [1, 5] job.payload_object.perform.should == 'Once upon...' end + + context "send_later" do + it "should use the default queue if there is one" do + Delayed::Worker.queue = "testqueue" + job = "string".send_later :reverse + job.queue.should == "testqueue" + end + + it "should have nil queue if there is not a default" do + job = "string".send_later :reverse + job.queue.should == nil + end + end context "send_at" do it "should queue a new job" do @@ -77,6 +93,17 @@ job.payload_object.args.should == ['r'] job.payload_object.perform.should == 1 end + + it "should use the default queue if there is one" do + Delayed::Worker.queue = "testqueue" + job = "string".send_at 1.hour.from_now, :reverse + job.queue.should == "testqueue" + end + + it "should have nil queue if there is not a default" do + job = "string".send_at 1.hour.from_now, :reverse + job.queue.should == nil + end end context "send_at_with_queue" do