pebbles-river 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 180179a2522d8ec5edf083a8da61221e80f554b9
4
- data.tar.gz: 69812a2f7efc266e3223f84673a2f287783f4ef2
3
+ metadata.gz: 849ea26964c3aa0eca352aafc7642748c4eb587f
4
+ data.tar.gz: f94b8412cffeffc29b4bffcddef89aaf7a7c91d4
5
5
  SHA512:
6
- metadata.gz: ccd1ef949b1f682232581df8adaed5a1b48da30bf4cff853f025e47fbe0b8841ff0f253a67101c2a9ec5cd9579e51b6492822dd71b57c62e741e060eb772690a
7
- data.tar.gz: e985b7b0739159fd549c64751b7744c919aeaa223fb43978c5bb83217a1694befcfdebcc02b6b3cf0970beec99ee7ca53480b1d941ab51fdb840d1dd7d85b1cd
6
+ metadata.gz: 795e37fc7303ae8811a3ee0754090ac6b4c4938cb1d51e760dc7c76fecf95dd00651ab400e5ace6370939d0760b79af60486bbd2508b7c1d82fb4ad49972b8ec
7
+ data.tar.gz: bfdd4900bb2eb74905cc3b6e0eab54251910c0fab32f49c750ca0ec24b3715ea351e72d593f3cbbfec9f7ff798817c28c515d689e4387ae836e50b94c7da580b
@@ -77,7 +77,7 @@ module Pebbles
77
77
 
78
78
  def queue(options = {})
79
79
  options.assert_valid_keys(:name, :ttl, :event, :path, :klass,
80
- :dead_letter_routing_key, :routing_key)
80
+ :dead_letter_routing_key, :routing_key, :no_default_routing_keys)
81
81
 
82
82
  raise ArgumentError.new 'Queue must be named' unless options[:name]
83
83
 
@@ -96,8 +96,10 @@ module Pebbles
96
96
  if (routing_key = options[:routing_key])
97
97
  queue.bind(exchange.name, key: routing_key)
98
98
  end
99
- Routing.binding_routing_keys_for(options.slice(:event, :class, :path)).each do |key|
100
- queue.bind(exchange.name, key: key)
99
+ unless options[:no_default_routing_keys]
100
+ Routing.binding_routing_keys_for(options.slice(:event, :class, :path)).each do |key|
101
+ queue.bind(exchange.name, key: key)
102
+ end
101
103
  end
102
104
  queue
103
105
  end
@@ -15,13 +15,11 @@ module Pebbles
15
15
  def self.binding_routing_keys_for(options)
16
16
  options.assert_valid_keys(:path, :class, :event)
17
17
  keys = []
18
- if options[:event] or options[:path] or options[:class]
19
- element_to_routing_key_parts(options[:event]).each do |event|
20
- element_to_routing_key_parts(options[:class]).each do |klass|
21
- element_to_routing_key_parts(options[:path]).each do |pathspec|
22
- path_to_routing_key_parts(pathspec).each do |path|
23
- keys << [event, klass, path].join('._.')
24
- end
18
+ element_to_routing_key_parts(options[:event]).each do |event|
19
+ element_to_routing_key_parts(options[:class]).each do |klass|
20
+ element_to_routing_key_parts(options[:path]).each do |pathspec|
21
+ path_to_routing_key_parts(pathspec).each do |path|
22
+ keys << [event, klass, path].join('._.')
25
23
  end
26
24
  end
27
25
  end
@@ -1,5 +1,5 @@
1
1
  module Pebbles
2
2
  module River
3
- VERSION = '0.3.3'
3
+ VERSION = '0.3.4'
4
4
  end
5
5
  end
@@ -181,16 +181,8 @@ module Pebbles
181
181
  if @logger
182
182
  @logger.error("Connection error (#{exception.class}): #{exception}")
183
183
  end
184
-
185
184
  @rate_limiter.increment
186
-
187
- if @queue
188
- ignore_exceptions do
189
- @queue.close
190
- end
191
- @queue = nil
192
- end
193
-
185
+ @queue = nil
194
186
  @river.disconnect
195
187
  rescue Timeout::Error
196
188
  if @logger
@@ -39,7 +39,7 @@ describe Pebbles::River::Routing do
39
39
  end
40
40
 
41
41
  specify 'match nothing if not specified' do
42
- expect(subject.binding_routing_keys_for({})).to eq []
42
+ expect(subject.binding_routing_keys_for({})).to eq ["#._.#._.#"]
43
43
  end
44
44
  end
45
45
 
@@ -56,6 +56,7 @@ describe Worker do
56
56
 
57
57
  let :channel do
58
58
  channel = double('Bunny::Channel')
59
+ channel.stub(:reject) { }
59
60
  channel.stub(:ack) { }
60
61
  channel.stub(:nack) { }
61
62
  channel
@@ -63,7 +64,6 @@ describe Worker do
63
64
 
64
65
  let :queue do
65
66
  queue = double('Bunny::Queue')
66
- queue.stub(:close) { nil }
67
67
  queue.stub(:pop) { |&block|
68
68
  block.call(*raw_message)
69
69
  }
@@ -151,8 +151,6 @@ describe Worker do
151
151
 
152
152
  context 'when handler is successful' do
153
153
  it 'acks the message' do
154
- expect(queue).to_not receive(:close)
155
-
156
154
  expect(channel).to receive(:ack).at_least(1).times
157
155
  expect(channel).to_not receive(:nack)
158
156
 
@@ -166,9 +164,7 @@ describe Worker do
166
164
  context 'when handler returns false' do
167
165
  if false # Needs Bunny 0.9+
168
166
  it 'nacks the message' do
169
- expect(queue).to_not receive(:close)
170
-
171
- expect(channel).to receive(:nack).at_least(1).times
167
+ expect(channel).to receive(:nack).at_least(1).times
172
168
  expect(channel).to_not receive(:ack)
173
169
 
174
170
  expect(river).to receive(:connected?).with(no_args).at_least(1).times
@@ -179,9 +175,7 @@ describe Worker do
179
175
  else
180
176
  it 'leaves the message un-acked' do
181
177
  expect(queue).to_not receive(:ack)
182
- expect(queue).to_not receive(:close)
183
-
184
- expect(river).to receive(:connected?).with(no_args).at_least(1).times
178
+ expect(river).to receive(:connected?).with(no_args).at_least(1).times
185
179
  expect(river).to_not receive(:connect)
186
180
 
187
181
  subject.new(false_handler, queue: {name: 'foo'}).run_once
@@ -200,16 +194,12 @@ describe Worker do
200
194
  if false # Needs Bunny 0.9+
201
195
  it 'nacks the message' do
202
196
  expect(queue).to receive(:nack).at_least(1).times
203
- expect(queue).to_not receive(:close)
204
-
205
- subject.new(io_error_raising_handler, queue: {name: 'foo'}).run_once
197
+ subject.new(io_error_raising_handler, queue: {name: 'foo'}).run_once
206
198
  end
207
199
  else
208
200
  it 'leaves the message un-acked' do
209
201
  expect(queue).to_not receive(:ack)
210
- expect(queue).to_not receive(:close)
211
-
212
- subject.new(io_error_raising_handler, queue: {name: 'foo'}).run_once
202
+ subject.new(io_error_raising_handler, queue: {name: 'foo'}).run_once
213
203
  end
214
204
  end
215
205
 
@@ -236,8 +226,6 @@ describe Worker do
236
226
  end
237
227
 
238
228
  it "performs connection reset on #{exception_class}" do
239
- expect(queue).to receive(:close).at_least(1).times
240
-
241
229
  expect(handler).to receive(:call).with(message)
242
230
 
243
231
  expect(river).to receive(:connected?).with(no_args).at_least(1).times
@@ -253,8 +241,6 @@ describe Worker do
253
241
  on_exception_callback.stub(:call) { }
254
242
  expect(on_exception_callback).to_not receive(:call)
255
243
 
256
- expect(queue).to receive(:close).at_least(1).times
257
-
258
244
  expect(handler).to receive(:call).at_least(1).times
259
245
 
260
246
  expect(river).to receive(:connected?).with(no_args).at_least(1).times
@@ -287,7 +273,6 @@ describe Worker do
287
273
 
288
274
  context 'non-connection exception' do
289
275
  it "calls #on_exception" do
290
- expect(queue).to_not receive(:close)
291
276
  expect(on_exception_callback).to receive(:call).with(io_error)
292
277
 
293
278
  subject.new(io_error_raising_handler,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pebbles-river
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Staubo