Skip to content

Commit ff5fc9b

Browse files
committed
Merge branch 'master' of github.com:defunkt/resque
2 parents c70d454 + f15aedb commit ff5fc9b

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

lib/resque.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,23 @@ module Resque
2626
# Accepts:
2727
# 1. A 'hostname:port' string
2828
# 2. A 'hostname:port:db' string (to select the Redis db)
29-
# 3. An instance of `Redis`, `Redis::Client`, `Redis::DistRedis`,
29+
# 3. A 'hostname:port/namespace' string (to set the Redis namespace)
30+
# 4. A redis URL string 'redis://host:port'
31+
# 5. An instance of `Redis`, `Redis::Client`, `Redis::DistRedis`,
3032
# or `Redis::Namespace`.
3133
def redis=(server)
3234
if server.respond_to? :split
3335
if server =~ /redis\:\/\//
3436
redis = Redis.connect(:url => server)
3537
else
38+
server, namespace = server.split('/', 2)
3639
host, port, db = server.split(':')
3740
redis = Redis.new(:host => host, :port => port,
3841
:thread_safe => true, :db => db)
3942
end
43+
namespace ||= :resque
4044

41-
@redis = Redis::Namespace.new(:resque, :redis => redis)
45+
@redis = Redis::Namespace.new(namespace, :redis => redis)
4246
elsif server.respond_to? :namespace=
4347
@redis = server
4448
else

resque.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
2424
s.add_dependency "redis-namespace", "~> 0.8.0"
2525
s.add_dependency "vegas", "~> 0.1.2"
2626
s.add_dependency "sinatra", ">= 0.9.2"
27-
s.add_dependency "json_pure", "~> 1.4.0"
27+
s.add_dependency "json", "~> 1.4.6"
2828

2929
s.description = <<description
3030
Resque is a Redis-backed Ruby library for creating background jobs,

test/resque_test.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@
88
Resque.push(:people, { 'name' => 'bob' })
99
Resque.push(:people, { 'name' => 'mark' })
1010
end
11+
12+
test "can set a namespace through a url-like string" do
13+
assert Resque.redis
14+
assert_equal :resque, Resque.redis.namespace
15+
Resque.redis = 'localhost:9736/namespace'
16+
assert_equal 'namespace', Resque.redis.namespace
17+
end
1118

1219
test "can put jobs on a queue" do
1320
assert Resque::Job.create(:jobs, 'SomeJob', 20, '/tmp')
@@ -222,4 +229,4 @@
222229
test "decode bad json" do
223230
assert_nil Resque.decode("{\"error\":\"Module not found \\u002\"}")
224231
end
225-
end
232+
end

0 commit comments

Comments
 (0)