smith 0.8.5 → 0.8.6

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: 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: []