rabid_mq 0.1.32 → 0.1.33
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rabid_mq/listener.rb +14 -7
- data/lib/rabid_mq/version.rb +1 -1
- data/lib/rabid_mq.rb +3 -1
- data/rabid_mq.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac1fbab1f556e3d449095f7b725dc27a8a9a3d29
|
4
|
+
data.tar.gz: a1c5c1deecd7aa89d1e1cc4f1c6c0273aa918187
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a5124a0a556be7bcef5f07e6071ed1ef2c85ce157455ea8de52d9b6a936bffaccd5389f712ac0a2dcceb3029da50594bf7a6c5b61c53a94cc7b84c60bc93060
|
7
|
+
data.tar.gz: 7e3218752cc5b829a515ecb371e4856915e3af238042f465e78a588f99bd367e15ac74463b726631a645caacd26acbca388df0a5f4305dff23e4f78c1ab1b37e
|
data/lib/rabid_mq/listener.rb
CHANGED
@@ -18,15 +18,17 @@ module RabidMQ
|
|
18
18
|
|
19
19
|
included do
|
20
20
|
class << self
|
21
|
-
attr_reader :amqp_queue, :amqp_exchange, :
|
21
|
+
attr_reader :amqp_queue, :amqp_exchange, :amqp_queue_name
|
22
22
|
|
23
23
|
def amqp(queue, exchange, exclusive: false, routing_key: '#')
|
24
24
|
# Set up an exchange
|
25
|
-
|
25
|
+
setup_exchange(exchange)
|
26
|
+
queue_name(queue)
|
27
|
+
|
26
28
|
@routing_key = routing_key
|
27
29
|
|
28
30
|
# Set up Queue
|
29
|
-
|
31
|
+
setup_queue(queue, exclusive: exclusive)
|
30
32
|
|
31
33
|
# Bind together
|
32
34
|
amqp_queue.bind(amqp_exchange, routing_key: routing_key)
|
@@ -35,11 +37,14 @@ module RabidMQ
|
|
35
37
|
# Use this as a macro in including classes like
|
36
38
|
# class MyClass
|
37
39
|
# include RabidMQ::Listener
|
38
|
-
# queue_name 'some.queue_name', exclusive: true
|
39
40
|
# end
|
40
41
|
#
|
41
|
-
def queue_name(name
|
42
|
-
@
|
42
|
+
def queue_name(name)
|
43
|
+
@amqp_queue_name ||= name
|
44
|
+
end
|
45
|
+
|
46
|
+
def setup_queue(name, **options)
|
47
|
+
@amqp_queue = RabidMQ.channel.queue(amqp_queue_name, **options)
|
43
48
|
end
|
44
49
|
|
45
50
|
# Use this as a macro in including classes like
|
@@ -48,10 +53,12 @@ module RabidMQ
|
|
48
53
|
# exchange 'exchange.name'
|
49
54
|
# end
|
50
55
|
#
|
51
|
-
def
|
56
|
+
def setup_exchange(topic, **options)
|
52
57
|
@amqp_exchange = RabidMQ.topic_exchange topic, **options
|
53
58
|
end
|
54
59
|
|
60
|
+
alias_method :exchange, :setup_exchange
|
61
|
+
|
55
62
|
def bind(exchange=amqp_exchange, routing_key: @routing_key, **options)
|
56
63
|
amqp_queue.bind(exchange, routing_key: routing_key, **options)
|
57
64
|
end
|
data/lib/rabid_mq/version.rb
CHANGED
data/lib/rabid_mq.rb
CHANGED
@@ -18,8 +18,9 @@ module RabidMQ
|
|
18
18
|
def topic_exchange(topic, durable: false, **options)
|
19
19
|
channel.topic(name_with_env(topic), durable: durable, **options)
|
20
20
|
rescue Bunny::PreconditionFailed => e
|
21
|
-
if e.message.match(/inequivalent arg 'durable'/).
|
21
|
+
if !e.message.match(/inequivalent arg 'durable'/).nil?
|
22
22
|
puts "[WARNING] RabbitMQ exchange durability does not match for #{topic}, overriding to match exchange!"
|
23
|
+
binding.pry
|
23
24
|
durable = !durable
|
24
25
|
reconnect
|
25
26
|
topic_exchange(topic, durable: durable, **options)
|
@@ -50,6 +51,7 @@ module RabidMQ
|
|
50
51
|
def connect
|
51
52
|
connection.tap do |c|
|
52
53
|
c.start
|
54
|
+
|
53
55
|
end
|
54
56
|
end
|
55
57
|
|
data/rabid_mq.gemspec
CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
31
31
|
spec.require_paths = ["lib"]
|
32
32
|
|
33
|
-
spec.add_dependency 'bunny', '~> 2.
|
33
|
+
spec.add_dependency 'bunny', '~> 2.9.2'
|
34
34
|
spec.add_dependency 'activesupport'
|
35
35
|
|
36
36
|
spec.add_development_dependency "bundler", "~> 1.14"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rabid_mq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.33
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tyrone Wilson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bunny
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.9.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.9.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|