Skip to content

Commit d393148

Browse files
committed
hashes are enqueued by lib/resque.rb, so test that interface.
expose Queue#encode and Queue#decode so that we can hide the coder interface.
1 parent d57db77 commit d393148

File tree

3 files changed

+6
-7
lines changed

3 files changed

+6
-7
lines changed

lib/resque/multi_queue.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def pop(non_block = false)
4848
synchronize do
4949
value = @redis.blpop(*(queue_names + [1])) until value
5050
queue_name, payload = value
51-
@queues[queue_name].coder.decode(payload)
51+
@queues[queue_name].decode(payload)
5252
end
5353
end
5454
end

lib/resque/queue.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module Resque
99
class Queue
1010
include Mutex_m
1111

12-
attr_reader :name, :redis_name, :coder
12+
attr_reader :name, :redis_name
1313

1414
###
1515
# Create a new Queue object with +name+ on +redis+ connection, and using
@@ -88,7 +88,6 @@ def destroy
8888
@redis.srem(:queues, @name)
8989
end
9090

91-
private
9291
def encode object
9392
@coder.dump object
9493
end

test/multi_queue_test.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
queue = Resque::MultiQueue.new([foo, bar], redis)
1515
t = Thread.new { queue.pop }
1616

17-
job = Resque::Job.new(:bar, :class => 'GoodJob')
17+
job = { 'class' => 'GoodJob', 'args' => [35, 'tar'] }
1818
bar << job
19-
assert_equal coder.decode(job.to_json), t.join.value
19+
assert_equal job, t.join.value
2020
end
2121

2222
it "nonblocking pop works" do
2323
foo = Resque::Queue.new 'foo', redis, coder
2424
bar = Resque::Queue.new 'bar', redis, coder
2525
queue = Resque::MultiQueue.new([foo, bar], redis)
2626

27-
job = Resque::Job.new(:bar, :class => 'GoodJob')
27+
job = { 'class' => 'GoodJob', 'args' => [35, 'tar'] }
2828
bar << job
29-
assert_equal coder.decode(job.to_json), queue.pop(true)
29+
assert_equal job, queue.pop(true)
3030
end
3131

3232
it "blocks forever on pop" do

0 commit comments

Comments
 (0)