smith 0.8.5 → 0.8.6

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: a558ca36ca237e0127acc87c499ce9e64ef14404
4
- data.tar.gz: 9aefd75bf18a78504f87b7e81ba4bc3dee94f878
3
+ metadata.gz: f41bf6879785fbde0dd04453174ad0d967ca749e
4
+ data.tar.gz: 1e2e293379fc3b2032f33861dc3acf2b4fdb473a
5
5
  SHA512:
6
- metadata.gz: 837716a9325f0d71bb0895b8c85f51ed1bf1cd47bc2965fe1004e55ff2f30423e0584587574452940f0e44027b3251dcd0a5717af68f3e071834a48afb0e5ab8
7
- data.tar.gz: 66a9ca176b0eb1efb2d9c8d6baeae0b1d1fcc4bbe478730d896fd38f855f3053e8d0ae6649c64d53d66f120200c3ffa8b89a2c4545625af293e711145b02a9d9
6
+ metadata.gz: 9e2d8810f747b30c071486ddc77415d141cfe75857e1ca52e9c2292f7f086e2296b3c11e3aff95948804c6c9975d62875d3e212246df4819da63d2ec87b704ba
7
+ data.tar.gz: 86f591c50199dc00a2bac2a8693b4da2e558f72888db7cf5b203b33fdea2bf9ac532f3b02b5f987bc035eef57967c08869c4b5116bab4c9c7ffc4f7ade8d28ee
@@ -10,6 +10,7 @@ module Smith
10
10
 
11
11
  module Messaging
12
12
  class MessageTimeoutError < RuntimeError; end
13
+ class UnknownQueue < RuntimeError; end
13
14
  end
14
15
 
15
16
  module ACL
@@ -358,14 +358,24 @@ module Smith
358
358
  # @return [String] the name of the queue
359
359
  #
360
360
  def queue_name
361
- begin
362
- @a561facf ||= @metadata.channel.queues.detect { |queue| queue.bindings.first[:exchange] == @metadata.exchange }.name.gsub(/^#{Smith.config.smith.namespace}\./, '')
363
- rescue NoMethodError
364
- # If `bingings` is empty then an exception will be raised. I cannot
365
- # see how it can possibly happend but if it does raise a slightly
366
- # more informative exceptino
367
- raise "Missing queue. This cannot happen and probably represents a bug. Exchange: #{@metadata.exchange}"
368
- end
361
+ @a561facf ||= begin
362
+ queue_name = @metadata.channel.queues.keys.detect { |q| q == @metadata.exchange }
363
+ if queue_name
364
+ @a561facf = remove_namespace(queue_name)
365
+ else
366
+ raise UnknownQueue, "Queue not found. You are probably you are using fanout queues: #{remove_namespace(@metadata.exchange)}"
367
+ end
368
+ end
369
+ end
370
+
371
+ # Remove the Smith namespace prefix (the default is `smith.`)
372
+ #
373
+ # @param [String] queue_name The name of the queue
374
+ #
375
+ # @param [String] The name of the queue with the namespace prefix.
376
+ #
377
+ def remove_namespace(queue_name)
378
+ queue_name.gsub(/^#{Smith.config.smith.namespace}\./, '')
369
379
  end
370
380
  end
371
381
  end
@@ -1,3 +1,3 @@
1
1
  module Smith
2
- VERSION = "0.8.5"
2
+ VERSION = "0.8.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.5
4
+ version: 0.8.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Heycock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-06 00:00:00.000000000 Z
11
+ date: 2016-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: amqp
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '1.0'
20
20
  - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: '1.5'
22
+ version: '1.6'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '1.0'
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '1.5'
32
+ version: '1.6'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: addressable
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -342,7 +342,7 @@ files:
342
342
  - lib/smith/version.rb
343
343
  homepage: http://github.com/filterfish/smith2
344
344
  licenses:
345
- - GPL-3
345
+ - GPL-3.0
346
346
  metadata: {}
347
347
  post_install_message:
348
348
  rdoc_options: []