From aa31d616d246312b22124f0d2e2011334810668b Mon Sep 17 00:00:00 2001 From: Samuel Cochran Date: Thu, 18 Oct 2012 11:27:54 +0800 Subject: [PATCH 1/2] Stringify Extensions::Proxy options --- lib/sidekiq/extensions/generic_proxy.rb | 2 +- test/test_extensions.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/sidekiq/extensions/generic_proxy.rb b/lib/sidekiq/extensions/generic_proxy.rb index 69da3596..a584f1d8 100644 --- a/lib/sidekiq/extensions/generic_proxy.rb +++ b/lib/sidekiq/extensions/generic_proxy.rb @@ -4,7 +4,7 @@ module Sidekiq def initialize(performable, target, options={}) @performable = performable @target = target - @opts = options + @opts = performable.stringify_keys(options) end def method_missing(name, *args) diff --git a/test/test_extensions.rb b/test/test_extensions.rb index a239d70d..8ecf067a 100644 --- a/test/test_extensions.rb +++ b/test/test_extensions.rb @@ -29,6 +29,14 @@ class TestExtensions < MiniTest::Unit::TestCase assert_equal 1, Sidekiq.redis {|c| c.llen('queue:default') } end + it 'uses and stringifies specified options' do + assert_equal [], Sidekiq::Client.registered_queues + assert_equal 0, Sidekiq.redis {|c| c.llen('queue:notdefault') } + MyModel.delay(queue: :notdefault).long_class_method + assert_equal ['notdefault'], Sidekiq::Client.registered_queues + assert_equal 1, Sidekiq.redis {|c| c.llen('queue:notdefault') } + end + it 'allows delayed scheduling of AR class methods' do assert_equal 0, Sidekiq.redis {|c| c.zcard('schedule') } MyModel.delay_for(5.days).long_class_method From fe00509435b31a8115c57db9511cb482fa1b7eb2 Mon Sep 17 00:00:00 2001 From: Samuel Cochran Date: Thu, 18 Oct 2012 12:00:54 +0800 Subject: [PATCH 2/2] Move stringify_keys to client_push --- lib/sidekiq/extensions/generic_proxy.rb | 2 +- lib/sidekiq/worker.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/sidekiq/extensions/generic_proxy.rb b/lib/sidekiq/extensions/generic_proxy.rb index a584f1d8..69da3596 100644 --- a/lib/sidekiq/extensions/generic_proxy.rb +++ b/lib/sidekiq/extensions/generic_proxy.rb @@ -4,7 +4,7 @@ module Sidekiq def initialize(performable, target, options={}) @performable = performable @target = target - @opts = performable.stringify_keys(options) + @opts = options end def method_missing(name, *args) diff --git a/lib/sidekiq/worker.rb b/lib/sidekiq/worker.rb index 95d8bd37..080ab36c 100644 --- a/lib/sidekiq/worker.rb +++ b/lib/sidekiq/worker.rb @@ -68,8 +68,8 @@ module Sidekiq hash end - def client_push(*args) # :nodoc: - Sidekiq::Client.push(*args) + def client_push(item) # :nodoc: + Sidekiq::Client.push(stringify_keys(item)) end end