multiple_man 1.6.2 → 1.7.0

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: 7edede56412486d12f76121832ae03ce2a8adcfe
4
- data.tar.gz: 0eb18f9ac6bb9ef94e54331e0f5d3e4f8f0d39b3
3
+ metadata.gz: de8e558c5c32b34097bff7821809620ae243b3bd
4
+ data.tar.gz: 0abbc36ff9201341a009747f32b31a87777b5a25
5
5
  SHA512:
6
- metadata.gz: 83796fb767f48cd2d82f19389bfb0423fcf8f478a1faaa1d1bca227b52cdca23e69ef807de931a659f3a3ffd0a142daed4812300238c0a79e7fa80ccc11855f0
7
- data.tar.gz: 94b64ab2b87b90fad01dde7a3d5a159cc5552f8a995385cb20d37d33357828a105499011bf83f8b5f8749dadf67bb8952d55e1f10395eb8800d1ef300e865417
6
+ metadata.gz: e2b755067fbf63b2a0611da6db2d375536a4fae2a12cd46da67cf31902815c9f647ad89217cc9e57ba857a3b3a54df313980c04dc53415e64490f21ea3773151
7
+ data.tar.gz: 2cb2117444d531ca7521a2ec3526c1a8f122bd80c72435c0b822ea36f764cb2f2164519eab1a9348054f9b18e4a2a705ce8b995612730cb0fd4862713ea785ac
data/lib/multiple_man.rb CHANGED
@@ -15,6 +15,7 @@ module MultipleMan
15
15
  require 'multiple_man/subscribers/base'
16
16
  require 'multiple_man/subscribers/model_subscriber'
17
17
  require 'multiple_man/subscribers/registry'
18
+ require 'multiple_man/tracers/null_tracer'
18
19
  require 'multiple_man/configuration'
19
20
  require 'multiple_man/model_publisher'
20
21
  require 'multiple_man/attribute_extractor'
@@ -14,7 +14,7 @@ module MultipleMan
14
14
  :queue_name, :prefetch_size, :bunny_opts, :exchange_opts,
15
15
  :publisher_confirms
16
16
 
17
- attr_writer :logger
17
+ attr_writer :logger, :tracer
18
18
 
19
19
  def initialize
20
20
  self.topic_name = "multiple_man"
@@ -43,6 +43,10 @@ module MultipleMan
43
43
  @logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
44
44
  end
45
45
 
46
+ def tracer
47
+ @tracer ||= ::MultipleMan::Tracers::NullTracer
48
+ end
49
+
46
50
  def on_error(&block)
47
51
  @error_handler = block
48
52
  end
@@ -32,9 +32,8 @@ module MultipleMan
32
32
  end
33
33
  end
34
34
 
35
- def receive(delivery_info, _, message)
36
- method = operation(message, delivery_info.routing_key)
37
- dispatch_subscribers(message, method, delivery_info.routing_key)
35
+ def receive(delivery_info, meta_data, message)
36
+ dispatch_subscribers(delivery_info, meta_data, message)
38
37
  queue.channel.acknowledge(delivery_info.delivery_tag, false)
39
38
 
40
39
  MultipleMan.logger.debug "Successfully processed! #{delivery_info.routing_key}"
@@ -48,12 +47,13 @@ module MultipleMan
48
47
  end
49
48
  end
50
49
 
51
- def dispatch_subscribers(message, method, routing_key)
52
- subscribers.select { |k,s| k.match(routing_key) }
53
- .values
54
- .each do |s|
55
- s.send(method, message)
56
- end
50
+ def dispatch_subscribers(delivery_info, meta_data, message)
51
+ method = operation(message, delivery_info.routing_key)
52
+
53
+ subscribers.select { |k,s| k.match(delivery_info.routing_key) }.values.each do |s|
54
+ tracer = MultipleMan.configuration.tracer.new(s)
55
+ tracer.handle(delivery_info, meta_data, message, method)
56
+ end
57
57
  end
58
58
 
59
59
  def operation(message, routing_key)
@@ -0,0 +1,13 @@
1
+ module MultipleMan
2
+ module Tracers
3
+ class NullTracer
4
+ def initialize(subscriber)
5
+ @subscriber = subscriber
6
+ end
7
+
8
+ def handle(delivery_info, meta_data, message, method)
9
+ @subscriber.send(method, message)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module MultipleMan
2
- VERSION = "1.6.2"
2
+ VERSION = "1.7.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multiple_man
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.2
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Brunner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-31 00:00:00.000000000 Z
11
+ date: 2017-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny
@@ -135,6 +135,7 @@ files:
135
135
  - lib/multiple_man/subscribers/model_subscriber.rb
136
136
  - lib/multiple_man/subscribers/registry.rb
137
137
  - lib/multiple_man/tasks/worker.rake
138
+ - lib/multiple_man/tracers/null_tracer.rb
138
139
  - lib/multiple_man/version.rb
139
140
  - multiple_man.gemspec
140
141
  - spec/attribute_extractor_spec.rb