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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a5c7087b2b3bbb63b09a253b3931a54d9bdbe572
4
- data.tar.gz: 641df5807692d4f738b7a3e370b741df574d6694
3
+ metadata.gz: 4c1b4a8df99cde4543eab1c5bc3e49bdb5fe64b1
4
+ data.tar.gz: aca2e2f7a8f945024f0e70758a68b6a25c0ef414
5
5
  SHA512:
6
- metadata.gz: 76bcf52e4aab8d0a947ad5db24113831e9cf67a584856fc7929a0245b9e80020ebf5a198620faadeee5423d609e83588dd70f329dd50c220abbcbd6cf32e09fb
7
- data.tar.gz: ddace77ffeab5edddac4f0bdf92fb15ef6f17d229767cf2ae7038a4e75a0ee0c1a702ee63961a8bbf0577f229d1b1da779a5cdc58e8af757bf634b1b060476a4
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
@@ -1,3 +1,3 @@
1
1
  module ElmerFudd
2
- VERSION = "0.0.21"
2
+ VERSION = "0.0.22"
3
3
  end
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.21
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-01-25 00:00:00.000000000 Z
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.2
112
+ rubygems_version: 2.4.6
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: RabbitMQ in OTP way