resque-bus 0.3.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +1 -0
  4. data/CHANGELOG.md +15 -0
  5. data/Gemfile +2 -3
  6. data/README.mdown +50 -64
  7. data/Rakefile +0 -1
  8. data/lib/resque-bus.rb +21 -283
  9. data/lib/resque_bus/adapter.rb +66 -0
  10. data/lib/resque_bus/compatibility/deprecated.rb +38 -0
  11. data/lib/resque_bus/compatibility/driver.rb +10 -0
  12. data/lib/resque_bus/compatibility/heartbeat.rb +10 -0
  13. data/lib/resque_bus/compatibility/publisher.rb +13 -0
  14. data/lib/resque_bus/compatibility/rider.rb +32 -0
  15. data/lib/resque_bus/compatibility/subscriber.rb +8 -0
  16. data/lib/resque_bus/compatibility/task_manager.rb +8 -0
  17. data/lib/resque_bus/server.rb +6 -5
  18. data/lib/resque_bus/server/views/bus.erb +2 -2
  19. data/lib/resque_bus/tasks.rb +46 -46
  20. data/lib/resque_bus/version.rb +2 -4
  21. data/resque-bus.gemspec +5 -12
  22. data/spec/adapter/compatibility_spec.rb +97 -0
  23. data/spec/adapter/integration_spec.rb +111 -0
  24. data/spec/adapter/publish_at_spec.rb +50 -0
  25. data/spec/adapter/retry_spec.rb +47 -0
  26. data/spec/adapter/support.rb +23 -0
  27. data/spec/adapter_spec.rb +14 -0
  28. data/spec/application_spec.rb +62 -62
  29. data/spec/config_spec.rb +83 -0
  30. data/spec/dispatch_spec.rb +6 -6
  31. data/spec/driver_spec.rb +62 -53
  32. data/spec/heartbeat_spec.rb +4 -4
  33. data/spec/integration_spec.rb +2 -2
  34. data/spec/matcher_spec.rb +29 -29
  35. data/spec/publish_spec.rb +62 -38
  36. data/spec/publisher_spec.rb +7 -0
  37. data/spec/rider_spec.rb +14 -66
  38. data/spec/spec_helper.rb +25 -28
  39. data/spec/subscriber_spec.rb +194 -176
  40. data/spec/subscription_list_spec.rb +1 -1
  41. data/spec/subscription_spec.rb +1 -1
  42. data/spec/worker_spec.rb +32 -0
  43. metadata +75 -91
  44. data/lib/resque_bus/application.rb +0 -115
  45. data/lib/resque_bus/dispatch.rb +0 -61
  46. data/lib/resque_bus/driver.rb +0 -30
  47. data/lib/resque_bus/heartbeat.rb +0 -106
  48. data/lib/resque_bus/local.rb +0 -34
  49. data/lib/resque_bus/matcher.rb +0 -81
  50. data/lib/resque_bus/publisher.rb +0 -12
  51. data/lib/resque_bus/rider.rb +0 -54
  52. data/lib/resque_bus/subscriber.rb +0 -63
  53. data/lib/resque_bus/subscription.rb +0 -55
  54. data/lib/resque_bus/subscription_list.rb +0 -53
  55. data/lib/resque_bus/task_manager.rb +0 -52
  56. data/lib/resque_bus/util.rb +0 -42
  57. data/lib/tasks/resquebus.rake +0 -2
  58. data/spec/publish_at_spec.rb +0 -74
  59. data/spec/redis_spec.rb +0 -13
@@ -0,0 +1,83 @@
1
+ require 'spec_helper'
2
+
3
+ module QueueBus
4
+ module Adapters
5
+ class TestOne
6
+
7
+ end
8
+ end
9
+ end
10
+
11
+ describe "QueueBus config" do
12
+ it "should set the default app key" do
13
+ QueueBus.default_app_key.should == nil
14
+
15
+ QueueBus.default_app_key = "my_app"
16
+ QueueBus.default_app_key.should == "my_app"
17
+
18
+ QueueBus.default_app_key = "something here"
19
+ QueueBus.default_app_key.should == "something_here"
20
+ end
21
+
22
+ it "should set the default queue" do
23
+ QueueBus.default_queue.should == nil
24
+
25
+ QueueBus.default_queue = "my_queue"
26
+ QueueBus.default_queue.should == "my_queue"
27
+ end
28
+
29
+ it "should set the local mode" do
30
+ QueueBus.local_mode.should == nil
31
+ QueueBus.local_mode = :standalone
32
+ QueueBus.local_mode.should == :standalone
33
+ end
34
+
35
+ it "should set the hostname" do
36
+ QueueBus.hostname.should_not == nil
37
+ QueueBus.hostname = "whatever"
38
+ QueueBus.hostname.should == "whatever"
39
+ end
40
+
41
+ it "should set before_publish callback" do
42
+ QueueBus.before_publish = lambda {|attributes| 42 }
43
+ QueueBus.before_publish_callback({}).should == 42
44
+ end
45
+
46
+
47
+ it "should use the default Redis connection" do
48
+ QueueBus.redis { |redis| redis }.should_not eq(nil)
49
+ end
50
+
51
+ it "should default to given adapter" do
52
+ QueueBus.adapter.is_a?(adapter_under_test_class).should == true
53
+
54
+ # and should raise if already set
55
+ lambda {
56
+ QueueBus.adapter = :data
57
+ }.should raise_error
58
+ end
59
+
60
+ context "with a fresh load" do
61
+ before(:each) do
62
+ QueueBus.send(:reset)
63
+ end
64
+
65
+ it "should be able to be set to resque" do
66
+ QueueBus.adapter = adapter_under_test_symbol
67
+ QueueBus.adapter.is_a?(adapter_under_test_class).should == true
68
+
69
+ # and should raise if already set
70
+ lambda {
71
+ QueueBus.adapter = :data
72
+ }.should raise_error
73
+ end
74
+
75
+ it "should be able to be set to something else" do
76
+
77
+ QueueBus.adapter = :test_one
78
+ QueueBus.adapter.is_a?(QueueBus::Adapters::TestOne).should == true
79
+ end
80
+ end
81
+
82
+
83
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- module ResqueBus
3
+ module QueueBus
4
4
  describe Dispatch do
5
5
  it "should not start with any applications" do
6
6
  Dispatch.new("d").subscriptions.size.should == 0
@@ -29,7 +29,7 @@ module ResqueBus
29
29
 
30
30
  describe "Top Level" do
31
31
  before(:each) do
32
- ResqueBus.dispatch("testit") do
32
+ QueueBus.dispatch("testit") do
33
33
  subscribe "event1" do |attributes|
34
34
  Runner2.run(attributes)
35
35
  end
@@ -50,16 +50,16 @@ module ResqueBus
50
50
 
51
51
  it "should register and run" do
52
52
  Runner2.value.should == 0
53
- ResqueBus.dispatcher_execute("testit", "event2", "bus_event_type" => "event2")
53
+ QueueBus.dispatcher_execute("testit", "event2", "bus_event_type" => "event2")
54
54
  Runner2.value.should == 1
55
- ResqueBus.dispatcher_execute("testit", "event1", "bus_event_type" => "event1")
55
+ QueueBus.dispatcher_execute("testit", "event1", "bus_event_type" => "event1")
56
56
  Runner2.value.should == 2
57
- ResqueBus.dispatcher_execute("testit", "event1", "bus_event_type" => "event1")
57
+ QueueBus.dispatcher_execute("testit", "event1", "bus_event_type" => "event1")
58
58
  Runner2.value.should == 3
59
59
  end
60
60
 
61
61
  it "should return the subscriptions" do
62
- dispatcher = ResqueBus.dispatcher_by_key("testit")
62
+ dispatcher = QueueBus.dispatcher_by_key("testit")
63
63
  subs = dispatcher.subscriptions.all
64
64
  tuples = subs.collect{ |sub| [sub.key, sub.queue_name]}
65
65
  tuples.should =~ [ ["event1", "testit_default"],
data/spec/driver_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- module ResqueBus
3
+ module QueueBus
4
4
  describe Driver do
5
5
  before(:each) do
6
6
  Application.new("app1").subscribe(test_list(test_sub("event1"), test_sub("event2"), test_sub("event3")))
@@ -11,90 +11,99 @@ module ResqueBus
11
11
  after(:each) do
12
12
  Timecop.return
13
13
  end
14
-
15
- let(:bus_attrs) { {"bus_driven_at" => Time.now.to_i, "bus_rider_class_name"=>"::ResqueBus::Rider"} }
16
-
14
+
15
+ let(:bus_attrs) { {"bus_driven_at" => Time.now.to_i, "bus_rider_class_name"=>"::QueueBus::Rider", "bus_class_proxy" => "::QueueBus::Rider"} }
16
+
17
17
  describe ".subscription_matches" do
18
18
  it "return empty array when none" do
19
19
  Driver.subscription_matches("bus_event_type" => "else").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should == []
20
20
  Driver.subscription_matches("bus_event_type" => "event").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should == []
21
21
  end
22
22
  it "should return a match" do
23
- Driver.subscription_matches("bus_event_type" => "event1").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app1", "event1", "default", "::ResqueBus::Rider"]]
24
- Driver.subscription_matches("bus_event_type" => "event6").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app3", "event6", "default", "::ResqueBus::Rider"]]
23
+ Driver.subscription_matches("bus_event_type" => "event1").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app1", "event1", "default", "::QueueBus::Rider"]]
24
+ Driver.subscription_matches("bus_event_type" => "event6").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app3", "event6", "default", "::QueueBus::Rider"]]
25
25
  end
26
26
  it "should match multiple apps" do
27
- Driver.subscription_matches("bus_event_type" => "event2").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app1", "event2", "default", "::ResqueBus::Rider"], ["app2", "event2", "other", "::ResqueBus::Rider"]]
27
+ Driver.subscription_matches("bus_event_type" => "event2").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app1", "event2", "default", "::QueueBus::Rider"], ["app2", "event2", "other", "::QueueBus::Rider"]]
28
28
  end
29
29
  it "should match multiple apps with patterns" do
30
- Driver.subscription_matches("bus_event_type" => "event4").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app3", "event[45]", "default", "::ResqueBus::Rider"], ["app2", "event4", "more", "::ResqueBus::Rider"]]
30
+ Driver.subscription_matches("bus_event_type" => "event4").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app3", "event[45]", "default", "::QueueBus::Rider"], ["app2", "event4", "more", "::QueueBus::Rider"]]
31
31
  end
32
32
  it "should match multiple events in same app" do
33
- Driver.subscription_matches("bus_event_type" => "event5").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app3", "event[45]", "default", "::ResqueBus::Rider"], ["app3", "event5", "default", "::ResqueBus::Rider"]]
33
+ Driver.subscription_matches("bus_event_type" => "event5").collect{|s| [s.app_key, s.key, s.queue_name, s.class_name]}.should =~ [["app3", "event[45]", "default", "::QueueBus::Rider"], ["app3", "event5", "default", "::QueueBus::Rider"]]
34
34
  end
35
35
  end
36
-
36
+
37
37
  describe ".perform" do
38
38
  let(:attributes) { {"x" => "y"} }
39
-
39
+
40
40
  before(:each) do
41
- ResqueBus.redis.smembers("queues").should == []
42
- ResqueBus.redis.lpop("queue:app1_default").should be_nil
43
- ResqueBus.redis.lpop("queue:app2_default").should be_nil
44
- ResqueBus.redis.lpop("queue:app3_default").should be_nil
41
+ QueueBus.redis { |redis| redis.smembers("queues") }.should == []
42
+ QueueBus.redis { |redis| redis.lpop("queue:app1_default") }.should be_nil
43
+ QueueBus.redis { |redis| redis.lpop("queue:app2_default") }.should be_nil
44
+ QueueBus.redis { |redis| redis.lpop("queue:app3_default") }.should be_nil
45
45
  end
46
-
46
+
47
47
  it "should do nothing when empty" do
48
48
  Driver.perform(attributes.merge("bus_event_type" => "else"))
49
- ResqueBus.redis.smembers("queues").should == []
49
+ QueueBus.redis { |redis| redis.smembers("queues") }.should == []
50
50
  end
51
-
51
+
52
52
  it "should queue up the riders in redis" do
53
- ResqueBus.redis.lpop("queue:app1_default").should be_nil
53
+ QueueBus.redis { |redis| redis.lpop("queue:app1_default") }.should be_nil
54
54
  Driver.perform(attributes.merge("bus_event_type" => "event1"))
55
- ResqueBus.redis.smembers("queues").should =~ ["default"]
55
+ QueueBus.redis { |redis| redis.smembers("queues") }.should =~ ["default"]
56
56
 
57
- hash = JSON.parse(ResqueBus.redis.lpop("queue:default"))
58
- hash["class"].should == "::ResqueBus::Rider"
59
- hash["args"].should == [ {"bus_rider_app_key"=>"app1", "x" => "y", "bus_event_type" => "event1", "bus_rider_sub_key"=>"event1", "bus_rider_queue" => "default"}.merge(bus_attrs) ]
57
+ hash = JSON.parse(QueueBus.redis { |redis| redis.lpop("queue:default") })
58
+ hash["class"].should == "QueueBus::Worker"
59
+ hash["args"].size.should == 1
60
+ JSON.parse(hash["args"].first).should == {"bus_rider_app_key"=>"app1", "x" => "y", "bus_event_type" => "event1", "bus_rider_sub_key"=>"event1", "bus_rider_queue" => "default"}.merge(bus_attrs)
60
61
  end
61
-
62
+
62
63
  it "should queue up to multiple" do
63
64
  Driver.perform(attributes.merge("bus_event_type" => "event4"))
64
- ResqueBus.redis.smembers("queues").should =~ ["default", "more"]
65
-
66
- hash = JSON.parse(ResqueBus.redis.lpop("queue:more"))
67
- hash["class"].should == "::ResqueBus::Rider"
68
- hash["args"].should == [ {"bus_rider_app_key"=>"app2", "x" => "y", "bus_event_type" => "event4", "bus_rider_sub_key"=>"event4", "bus_rider_queue" => "more"}.merge(bus_attrs) ]
69
-
70
- hash = JSON.parse(ResqueBus.redis.lpop("queue:default"))
71
- hash["class"].should == "::ResqueBus::Rider"
72
- hash["args"].should == [ {"bus_rider_app_key"=>"app3", "x" => "y", "bus_event_type" => "event4", "bus_rider_sub_key"=>"event[45]", "bus_rider_queue" => "default"}.merge(bus_attrs) ]
65
+ QueueBus.redis { |redis| redis.smembers("queues") }.should =~ ["default", "more"]
66
+
67
+ hash = JSON.parse(QueueBus.redis { |redis| redis.lpop("queue:more") })
68
+ hash["class"].should == "QueueBus::Worker"
69
+ hash["args"].size.should == 1
70
+ JSON.parse(hash["args"].first).should == {"bus_rider_app_key"=>"app2", "x" => "y", "bus_event_type" => "event4", "bus_rider_sub_key"=>"event4", "bus_rider_queue" => "more"}.merge(bus_attrs)
71
+
72
+ hash = JSON.parse(QueueBus.redis { |redis| redis.lpop("queue:default") })
73
+ hash["class"].should == "QueueBus::Worker"
74
+ hash["args"].size.should == 1
75
+ JSON.parse(hash["args"].first).should == {"bus_rider_app_key"=>"app3", "x" => "y", "bus_event_type" => "event4", "bus_rider_sub_key"=>"event[45]", "bus_rider_queue" => "default"}.merge(bus_attrs)
73
76
  end
74
-
77
+
75
78
  it "should queue up to the same" do
76
79
  Driver.perform(attributes.merge("bus_event_type" => "event5"))
77
- ResqueBus.redis.smembers("queues").should =~ ["default"]
78
-
79
- ResqueBus.redis.llen("queue:default").should == 2
80
-
81
- hash = JSON.parse(ResqueBus.redis.lpop("queue:default"))
82
- hash["class"].should == "::ResqueBus::Rider"
83
- hash["args"][0].should == {"bus_rider_app_key"=>"app3", "x" => "y", "bus_event_type" => "event5", "bus_rider_sub_key"=>"event5", "bus_rider_queue" => "default"}.merge(bus_attrs)
84
- first = hash["args"][0]["bus_rider_sub_key"]
85
-
86
- hash = JSON.parse(ResqueBus.redis.lpop("queue:default"))
87
- hash["class"].should == "::ResqueBus::Rider"
88
- hash["args"][0].should == {"bus_rider_app_key"=>"app3", "x" => "y", "bus_event_type" => "event5", "bus_rider_sub_key"=>"event[45]", "bus_rider_queue" => "default"}.merge(bus_attrs)
89
- second= hash["args"][0]["bus_rider_sub_key"]
90
-
91
- if first == "event[45]"
92
- second.should == "event5"
80
+ QueueBus.redis { |redis| redis.smembers("queues") }.should =~ ["default"]
81
+
82
+ QueueBus.redis { |redis| redis.llen("queue:default") }.should == 2
83
+
84
+ pop1 = JSON.parse(QueueBus.redis { |redis| redis.lpop("queue:default") })
85
+ pop2 = JSON.parse(QueueBus.redis { |redis| redis.lpop("queue:default") })
86
+
87
+ pargs1 = JSON.parse(pop1["args"].first)
88
+ pargs2 = JSON.parse(pop2["args"].first)
89
+ if pargs1["bus_rider_sub_key"] == "event5"
90
+ hash1 = pop1
91
+ hash2 = pop2
92
+ args1 = pargs1
93
+ args2 = pargs2
93
94
  else
94
- first.should == "event5"
95
- second.should == "event[45]"
95
+ hash1 = pop2
96
+ hash2 = pop1
97
+ args1 = pargs2
98
+ args2 = pargs1
96
99
  end
100
+
101
+ hash1["class"].should == "QueueBus::Worker"
102
+ args1.should == {"bus_rider_app_key"=>"app3", "x" => "y", "bus_event_type" => "event5", "bus_rider_sub_key"=>"event5", "bus_rider_queue" => "default"}.merge(bus_attrs)
103
+
104
+ hash2["class"].should == "QueueBus::Worker"
105
+ args2.should == {"bus_rider_app_key"=>"app3", "x" => "y", "bus_event_type" => "event5", "bus_rider_sub_key"=>"event[45]", "bus_rider_queue" => "default"}.merge(bus_attrs)
97
106
  end
98
107
  end
99
108
  end
100
- end
109
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- module ResqueBus
3
+ module QueueBus
4
4
  describe Heartbeat do
5
5
  def now_attributes
6
6
  {
@@ -20,7 +20,7 @@ module ResqueBus
20
20
 
21
21
  it "should publish the current time once" do
22
22
  Timecop.freeze "12/12/2013 12:01:19" do
23
- ResqueBus.should_receive(:publish).with("heartbeat_minutes", now_attributes)
23
+ QueueBus.should_receive(:publish).with("heartbeat_minutes", now_attributes)
24
24
  Heartbeat.perform
25
25
  end
26
26
 
@@ -31,12 +31,12 @@ module ResqueBus
31
31
 
32
32
  it "should publish a minute later" do
33
33
  Timecop.freeze "12/12/2013 12:01:19" do
34
- ResqueBus.should_receive(:publish).with("heartbeat_minutes", now_attributes)
34
+ QueueBus.should_receive(:publish).with("heartbeat_minutes", now_attributes)
35
35
  Heartbeat.perform
36
36
  end
37
37
 
38
38
  Timecop.freeze "12/12/2013 12:02:01" do
39
- ResqueBus.should_receive(:publish).with("heartbeat_minutes", now_attributes)
39
+ QueueBus.should_receive(:publish).with("heartbeat_minutes", now_attributes)
40
40
  Heartbeat.perform
41
41
  end
42
42
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- module ResqueBus
3
+ module QueueBus
4
4
  describe "Integration" do
5
5
  it "should round trip attributes" do
6
6
  write1 = Subscription.new("default", "key1", "MyClass1", {"bus_event_type" => "event_one"})
@@ -23,7 +23,7 @@ module ResqueBus
23
23
  app = Application.new("test")
24
24
  app.subscribe(write)
25
25
 
26
- ResqueBus.send(:reset) # reset to make sure we read from redis
26
+ reset_test_adapter # reset to make sure we read from redis
27
27
  app = Application.new("test")
28
28
  read = app.send(:subscriptions)
29
29
 
data/spec/matcher_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- module ResqueBus
3
+ module QueueBus
4
4
  describe Matcher do
5
5
  it "should already return false on empty filters" do
6
6
  matcher = Matcher.new({})
@@ -8,19 +8,19 @@ module ResqueBus
8
8
  matcher.matches?(nil).should == false
9
9
  matcher.matches?("name" => "val").should == false
10
10
  end
11
-
11
+
12
12
  it "should not crash if nil inputs" do
13
13
  matcher = Matcher.new("name" => "val")
14
14
  matcher.matches?(nil).should == false
15
15
  end
16
-
16
+
17
17
  it "string filter to/from redis" do
18
18
  matcher = Matcher.new("name" => "val")
19
19
  matcher.matches?("name" => "val").should == true
20
20
  matcher.matches?("name" => " val").should == false
21
21
  matcher.matches?("name" => "zval").should == false
22
22
  end
23
-
23
+
24
24
  it "regex filter" do
25
25
  matcher = Matcher.new("name" => /^[cb]a+t/)
26
26
  matcher.matches?("name" => "cat").should == true
@@ -29,7 +29,7 @@ module ResqueBus
29
29
  matcher.matches?("name" => "ct").should == false
30
30
  matcher.matches?("name" => "bcat").should == false
31
31
  end
32
-
32
+
33
33
  it "present filter" do
34
34
  matcher = Matcher.new("name" => :present)
35
35
  matcher.matches?("name" => "").should == false
@@ -37,7 +37,7 @@ module ResqueBus
37
37
  matcher.matches?("name" => "bear").should == true
38
38
  matcher.matches?("other" => "bear").should == false
39
39
  end
40
-
40
+
41
41
  it "blank filter" do
42
42
  matcher = Matcher.new("name" => :blank)
43
43
  matcher.matches?("name" => nil).should == true
@@ -47,7 +47,7 @@ module ResqueBus
47
47
  matcher.matches?("name" => "bear").should == false
48
48
  matcher.matches?("name" => " s ").should == false
49
49
  end
50
-
50
+
51
51
  it "nil filter" do
52
52
  matcher = Matcher.new("name" => :nil)
53
53
  matcher.matches?("name" => nil).should == true
@@ -56,7 +56,7 @@ module ResqueBus
56
56
  matcher.matches?("name" => " ").should == false
57
57
  matcher.matches?("name" => "bear").should == false
58
58
  end
59
-
59
+
60
60
  it "key filter" do
61
61
  matcher = Matcher.new("name" => :key)
62
62
  matcher.matches?("name" => nil).should == true
@@ -65,7 +65,7 @@ module ResqueBus
65
65
  matcher.matches?("name" => " ").should == true
66
66
  matcher.matches?("name" => "bear").should == true
67
67
  end
68
-
68
+
69
69
  it "empty filter" do
70
70
  matcher = Matcher.new("name" => :empty)
71
71
  matcher.matches?("name" => nil).should == false
@@ -75,7 +75,7 @@ module ResqueBus
75
75
  matcher.matches?("name" => "bear").should == false
76
76
  matcher.matches?("name" => " s ").should == false
77
77
  end
78
-
78
+
79
79
  it "value filter" do
80
80
  matcher = Matcher.new("name" => :value)
81
81
  matcher.matches?("name" => nil).should == false
@@ -85,7 +85,7 @@ module ResqueBus
85
85
  matcher.matches?("name" => "bear").should == true
86
86
  matcher.matches?("name" => " s ").should == true
87
87
  end
88
-
88
+
89
89
  it "multiple filters" do
90
90
  matcher = Matcher.new("name" => /^[cb]a+t/, "state" => "sleeping")
91
91
  matcher.matches?("state" => "sleeping", "name" => "cat").should == true
@@ -94,7 +94,7 @@ module ResqueBus
94
94
  matcher.matches?("state" => "sleeping", "name" => "bear").should == false
95
95
  matcher.matches?("state" => "awake", "name" => "bear").should == false
96
96
  end
97
-
97
+
98
98
  it "regex should go back and forth into redis" do
99
99
  matcher = Matcher.new("name" => /^[cb]a+t/)
100
100
  matcher.matches?("name" => "cat").should == true
@@ -102,40 +102,40 @@ module ResqueBus
102
102
  matcher.matches?("name" => "caaaaat").should == true
103
103
  matcher.matches?("name" => "ct").should == false
104
104
  matcher.matches?("name" => "bcat").should == false
105
-
106
- ResqueBus.redis.set("temp1", Resque.encode(matcher.to_redis))
107
- redis = ResqueBus.redis.get("temp1")
108
- matcher = Matcher.new(Resque.decode(redis))
105
+
106
+ QueueBus.redis { |redis| redis.set("temp1", QueueBus::Util.encode(matcher.to_redis) ) }
107
+ redis = QueueBus.redis { |redis| redis.get("temp1") }
108
+ matcher = Matcher.new(QueueBus::Util.decode(redis))
109
109
  matcher.matches?("name" => "cat").should == true
110
110
  matcher.matches?("name" => "bat").should == true
111
111
  matcher.matches?("name" => "caaaaat").should == true
112
112
  matcher.matches?("name" => "ct").should == false
113
113
  matcher.matches?("name" => "bcat").should == false
114
-
115
- ResqueBus.redis.set("temp2", Resque.encode(matcher.to_redis))
116
- redis = ResqueBus.redis.get("temp2")
117
- matcher = Matcher.new(Resque.decode(redis))
114
+
115
+ QueueBus.redis { |redis| redis.set("temp2", QueueBus::Util.encode(matcher.to_redis) ) }
116
+ redis = QueueBus.redis { |redis| redis.get("temp2") }
117
+ matcher = Matcher.new(QueueBus::Util.decode(redis))
118
118
  matcher.matches?("name" => "cat").should == true
119
119
  matcher.matches?("name" => "bat").should == true
120
120
  matcher.matches?("name" => "caaaaat").should == true
121
121
  matcher.matches?("name" => "ct").should == false
122
122
  matcher.matches?("name" => "bcat").should == false
123
123
  end
124
-
124
+
125
125
  it "special value should go back and forth into redis" do
126
126
  matcher = Matcher.new("name" => :blank)
127
127
  matcher.matches?("name" => "cat").should == false
128
128
  matcher.matches?("name" => "").should == true
129
-
130
- ResqueBus.redis.set("temp1", Resque.encode(matcher.to_redis))
131
- redis = ResqueBus.redis.get("temp1")
132
- matcher = Matcher.new(Resque.decode(redis))
129
+
130
+ QueueBus.redis { |redis| redis.set("temp1", QueueBus::Util.encode(matcher.to_redis) ) }
131
+ redis= QueueBus.redis { |redis| redis.get("temp1") }
132
+ matcher = Matcher.new(QueueBus::Util.decode(redis))
133
133
  matcher.matches?("name" => "cat").should == false
134
134
  matcher.matches?("name" => "").should == true
135
-
136
- ResqueBus.redis.set("temp2", Resque.encode(matcher.to_redis))
137
- redis = ResqueBus.redis.get("temp2")
138
- matcher = Matcher.new(Resque.decode(redis))
135
+
136
+ QueueBus.redis { |redis| redis.set("temp2", QueueBus::Util.encode(matcher.to_redis) ) }
137
+ redis= QueueBus.redis { |redis| redis.get("temp2") }
138
+ matcher = Matcher.new(QueueBus::Util.decode(redis))
139
139
  matcher.matches?("name" => "cat").should == false
140
140
  matcher.matches?("name" => "").should == true
141
141
  end