ElmerFudd 0.0.21 → 0.0.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -0
- data/lib/ElmerFudd.rb +7 -1
- data/lib/ElmerFudd/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c1b4a8df99cde4543eab1c5bc3e49bdb5fe64b1
|
4
|
+
data.tar.gz: aca2e2f7a8f945024f0e70758a68b6a25c0ef414
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ea1a8c610dbb0fcfa2e2580837a6c900e9544c71d965ff8a9cd30dd956b5d21f566316bccd34d854ecae80b12129158746485fca4b4abb9b7245b203ad63c27
|
7
|
+
data.tar.gz: 92cd593f028b61e16ed921821b8b3917eabd797f00fe7be75b275d5639b76df3e353085aae441e873c63d6172bc38184d0bd1943f5457f9e6802d0cc836a07ba
|
data/README.md
CHANGED
@@ -80,6 +80,15 @@ $rabbit.call('test.ping', text: 'echo') #=> "pong: echo"
|
|
80
80
|
$rabbit.notify('a_topic_exchange', 'test.log.some.event', count: 1) # will print "[current time here] received on test.log.some.event payload: {count: 1}"
|
81
81
|
```
|
82
82
|
|
83
|
+
### Queue naming
|
84
|
+
|
85
|
+
If you want to consume an event in all listening processes (instead of just first available one), pass an empty string as queue name:
|
86
|
+
|
87
|
+
```ruby
|
88
|
+
handle_event(Route('', 'a_topic_exchange' => 'test.some.event'),
|
89
|
+
handler: TestLogger.new($stdout))
|
90
|
+
```
|
91
|
+
|
83
92
|
### Filters
|
84
93
|
|
85
94
|
Filters allow to mutate an incoming message in consumer before it hits appropiate handler or to modify return value (or handle errors) after the handler finishes its job. You can define default filters which will be applied to all handlers in consumer or activate them on handler level by passing filters list as a param, i.e.:
|
data/lib/ElmerFudd.rb
CHANGED
@@ -166,7 +166,7 @@ module ElmerFudd
|
|
166
166
|
end
|
167
167
|
|
168
168
|
def queue(env)
|
169
|
-
env.channel.queue(@route.queue_name, durable: true).tap do |queue|
|
169
|
+
env.channel.queue(@route.queue_name, durable: true, exclusive: is_exclusive_queue).tap do |queue|
|
170
170
|
unless @route.exchange_name == ""
|
171
171
|
Array(@route.routing_keys).each do |routing_key|
|
172
172
|
queue.bind(exchange(env), routing_key: routing_key)
|
@@ -182,6 +182,12 @@ module ElmerFudd
|
|
182
182
|
def call(env, message)
|
183
183
|
call_next(env, message, @filters + [@callback])
|
184
184
|
end
|
185
|
+
|
186
|
+
private
|
187
|
+
|
188
|
+
def is_exclusive_queue
|
189
|
+
@route.queue_name == ''
|
190
|
+
end
|
185
191
|
end
|
186
192
|
|
187
193
|
class TopicHandler < DirectHandler
|
data/lib/ElmerFudd/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ElmerFudd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrzej Sliwa
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-03-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bunny
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.4.
|
112
|
+
rubygems_version: 2.4.6
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: RabbitMQ in OTP way
|