pwwka 0.15.1 → 0.16.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e2d3849c6e410b41770f48dcdcd6a3362ffb632c
4
- data.tar.gz: 79c4b07513148802d9235c3606fcd176dd49ce71
3
+ metadata.gz: a9979d197bd12e7850a2152c42d788220d11b280
4
+ data.tar.gz: 4dcaaaee90025accb128ac6eb2c5676fd7dd714b
5
5
  SHA512:
6
- metadata.gz: d69b7df9738dc5d3689158a9114316f2e9405287c6f35bbea725a6f2a77e298276f3a66462abf0366e12ac40b37042f2e75845bddc93a314b7663ede5dbfc0d1
7
- data.tar.gz: 6d03c19a90c1db1e4bcd334abd23eb9d7d4ffa11ef7cedeb6446598d5099d80c8a2ec1c4e4b731dd477069287cd2865a6a637a7f7f4f7e69d649fee69ea8668c
6
+ metadata.gz: 653875f4ed5231099fff06769f231cbcfa786db1bb0900364dba0928b1e4921f3cea8d4699126d7b0c80ec51438d88b924e5f863c9ec448ee940a7d4a0ff1492
7
+ data.tar.gz: 40e334288cd1a6bbdb940583f4f9d50ee5f527d28ec3479eb822a78219faf33930d525859bfbb5c6a2785167ac29d669262c7caa41543da893b93055792bc821
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pwwka (0.15.1)
4
+ pwwka (0.16.0)
5
5
  activemodel
6
6
  activesupport
7
7
  bunny
@@ -18,14 +18,14 @@ GEM
18
18
  minitest (~> 5.1)
19
19
  tzinfo (~> 1.1)
20
20
  amq-protocol (2.2.0)
21
- bunny (2.7.1)
21
+ bunny (2.8.0)
22
22
  amq-protocol (>= 2.2.0)
23
23
  concurrent-ruby (1.0.5)
24
24
  diff-lcs (1.3)
25
25
  docile (1.1.5)
26
26
  et-orbi (1.0.7)
27
27
  tzinfo
28
- i18n (0.9.0)
28
+ i18n (0.9.1)
29
29
  concurrent-ruby (~> 1.0)
30
30
  json (2.1.0)
31
31
  minitest (5.10.3)
data/README.md CHANGED
@@ -211,7 +211,7 @@ It requires some environment variables to work:
211
211
 
212
212
  * `HANDLER_KLASS` (required) refers to the class you have to write in your app (equivalent to a `job` in Resque)
213
213
  * `QUEUE_NAME` (required) we must use named queues - see below
214
- * `ROUTING_KEY` (optional) defaults to `#.#` (all messages)
214
+ * `ROUTING_KEY` (optional) comma separated list of routing keys (e.g. `foo.bar.*,foo.baz.*`). defaults to `#.#` (all messages)
215
215
  * `PREFETCH` (optional) sets a [prefetch value](http://rubybunny.info/articles/queues.html#qos__prefetching_messages) for the subscriber
216
216
 
217
217
  You'll also need to bring the Rake task into your app. For Rails, you'll need to edit the top-level `Rakefile`:
@@ -51,7 +51,7 @@ module Pwwka
51
51
  def topic_queue
52
52
  @topic_queue ||= begin
53
53
  queue = channel.queue(queue_name, durable: true, arguments: {})
54
- queue.bind(topic_exchange, routing_key: routing_key)
54
+ routing_key.split(',').each { |k| queue.bind(topic_exchange, routing_key: k) }
55
55
  queue
56
56
  end
57
57
  end
data/lib/pwwka/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pwwka
2
- VERSION = '0.15.1'
2
+ VERSION = '0.16.0'
3
3
  end
@@ -19,6 +19,7 @@ describe "sending and receiving messages", :integration do
19
19
 
20
20
  [AllReceiver , "all_receiver_pwwkatesting" , "#"] ,
21
21
  [FooReceiver , "foo_receiver_pwwkatesting" , "pwwka.testing.foo"] ,
22
+ [MultiRoutingReceived , "multi_routing_receiver_pwwkatesting" , "pwwka.testing.bar,pwwka.testing.foo"] ,
22
23
  [OtherFooReceiver , "other_foo_receiver_pwwkatesting" , "pwwka.testing.foo"] ,
23
24
  [Pwwka::QueueResqueJobHandler , "queue_resque_job_handler_pwwkatesting" , "#" ] ,
24
25
 
@@ -27,6 +28,7 @@ describe "sending and receiving messages", :integration do
27
28
  end
28
29
  AllReceiver.reset!
29
30
  FooReceiver.reset!
31
+ MultiRoutingReceived.reset!
30
32
  OtherFooReceiver.reset!
31
33
  clear_queue(:delayed)
32
34
  clear_queue(MyTestJob)
@@ -46,6 +48,7 @@ describe "sending and receiving messages", :integration do
46
48
 
47
49
  expect(AllReceiver.messages_received.size).to eq(1)
48
50
  expect(FooReceiver.messages_received.size).to eq(1)
51
+ expect(MultiRoutingReceived.messages_received.size).to eq(1)
49
52
  expect(OtherFooReceiver.messages_received.size).to eq(1)
50
53
  @testing_setup.queues.each do |queue|
51
54
  expect(queue.message_count).to eq(0)
@@ -58,6 +61,7 @@ describe "sending and receiving messages", :integration do
58
61
 
59
62
  expect(AllReceiver.messages_received.size).to eq(1)
60
63
  expect(FooReceiver.messages_received.size).to eq(0)
64
+ expect(MultiRoutingReceived.messages_received.size).to eq(1)
61
65
  expect(OtherFooReceiver.messages_received.size).to eq(0)
62
66
  @testing_setup.queues.each do |queue|
63
67
  expect(queue.message_count).to eq(0)
@@ -200,11 +204,13 @@ describe "sending and receiving messages", :integration do
200
204
 
201
205
  expect(AllReceiver.messages_received.size).to eq(0)
202
206
  expect(FooReceiver.messages_received.size).to eq(0)
207
+ expect(MultiRoutingReceived.messages_received.size).to eq(0)
203
208
  expect(OtherFooReceiver.messages_received.size).to eq(0)
204
209
 
205
210
  allow_receivers_to_process_queues(5_000)
206
211
  expect(AllReceiver.messages_received.size).to eq(1)
207
212
  expect(FooReceiver.messages_received.size).to eq(1)
213
+ expect(MultiRoutingReceived.messages_received.size).to eq(1)
208
214
  expect(OtherFooReceiver.messages_received.size).to eq(1)
209
215
  end
210
216
 
@@ -241,4 +247,6 @@ describe "sending and receiving messages", :integration do
241
247
  end
242
248
  class OtherFooReceiver < AllReceiver
243
249
  end
250
+ class MultiRoutingReceived < AllReceiver
251
+ end
244
252
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwwka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stitch Fix Engineering
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2017-12-02 00:00:00.000000000 Z
18
+ date: 2017-12-18 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: bunny
@@ -268,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
268
268
  version: '0'
269
269
  requirements: []
270
270
  rubyforge_project:
271
- rubygems_version: 2.6.11
271
+ rubygems_version: 2.5.1
272
272
  signing_key:
273
273
  specification_version: 4
274
274
  summary: Send and receive messages via RabbitMQ