event_people 1.0.3 → 1.0.4

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
  SHA256:
3
- metadata.gz: 8fe37c13b973b908692331742769cfe80e9275fd9b00c10f8ce1754caed401dd
4
- data.tar.gz: 0bd35eac8aa30ac949d335e93d9ddc4e85d691561727c8b215d1780c34fd0c31
3
+ metadata.gz: c7f58e0e92901db867e0a3a1e74a7019bf25d62fda4d9e6506f1722b4c6c6594
4
+ data.tar.gz: 6d79d5a555bbb697e4a94f58e1fc0c9cd8e474f5214237d6e2c160ead786bc73
5
5
  SHA512:
6
- metadata.gz: f47f4f894349f3d551cca37b555d295ced7413407242cf5ad6c9a9ec7ef1e0438498a7450026b4515d7561b1454c930c8c36d68f359a27beccd369b730d61b6c
7
- data.tar.gz: 7723659cc5cb3774f2d01c0217a1da4a3de1b2e9d83bd39d30884af351bf8b223e378c37580f84c16b0602ef14e2cb52637848b209fcd1245fe9e748c803bb81
6
+ metadata.gz: ef16aeb1e9544b762663d1fa70a689bda225400560061f4db7c8a71cd83fd84f481c0c286d1f020d6fda8b28b67383ed8afb5367849e339172ab31d45a7645a6
7
+ data.tar.gz: 9ef63b463f16b335c71e6130745e3337bb7240a59931f38e5fbeeaf8d9071d3fa90411882233c4e86ad1305ac7b68a7b1e60d2ba77e307af65000a8e54bd5d1d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- event_people (1.0.3)
4
+ event_people (1.0.4)
5
5
  bunny (~> 2.7)
6
6
 
7
7
  GEM
@@ -0,0 +1,17 @@
1
+ module EventPeople
2
+ module Broker
3
+ class Context
4
+ def success!
5
+ raise NotImplementedError.new('Must be implemented')
6
+ end
7
+
8
+ def fail!
9
+ raise NotImplementedError.new('Must be implemented')
10
+ end
11
+
12
+ def reject!
13
+ raise NotImplementedError.new('Must be implemented')
14
+ end
15
+ end
16
+ end
17
+ end
@@ -29,7 +29,7 @@ module EventPeople
29
29
  event_name = delivery_info.routing_key
30
30
 
31
31
  event = EventPeople::Event.new(event_name, payload)
32
- context = EventPeople::Listeners::Base.new(channel, delivery_info)
32
+ context = EventPeople::Broker::Rabbit::RabbitContext.new(channel, delivery_info)
33
33
 
34
34
  block.call(event, context)
35
35
  end
@@ -0,0 +1,22 @@
1
+ module EventPeople
2
+ module Broker
3
+ class Rabbit::RabbitContext < EventPeople::Broker::Context
4
+ def initialize(channel, delivery_info)
5
+ @channel = channel
6
+ @delivery_info = delivery_info
7
+ end
8
+
9
+ def success!
10
+ @channel.ack(@delivery_info.delivery_tag, false)
11
+ end
12
+
13
+ def fail!
14
+ @channel.nack(@delivery_info.delivery_tag, false, true)
15
+ end
16
+
17
+ def reject!
18
+ @channel.reject(@delivery_info.delivery_tag, false)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,11 +1,8 @@
1
1
  module EventPeople
2
2
  module Listeners
3
3
  class Base
4
- attr_reader :channel, :delivery_info
5
-
6
- def initialize(channel, delivery_info)
7
- @channel = channel
8
- @delivery_info = delivery_info
4
+ def initialize(context)
5
+ @context = context
9
6
  end
10
7
 
11
8
  def callback(method_name, event)
@@ -13,22 +10,22 @@ module EventPeople
13
10
  end
14
11
 
15
12
  def success!
16
- channel.ack(delivery_info.delivery_tag, false)
13
+ @context.success!
17
14
  end
18
15
 
19
16
  def fail!
20
- channel.nack(delivery_info.delivery_tag, false, true)
17
+ @context.fail!
21
18
  end
22
19
 
23
20
  def reject!
24
- channel.reject(delivery_info.delivery_tag, false)
21
+ @context.reject!
25
22
  end
26
23
 
27
24
  def self.bind(method, event_name)
28
25
  app_name = ENV['RABBIT_EVENT_PEOPLE_APP_NAME'].downcase
29
26
  splitted_event_name = event_name.split('.')
30
27
 
31
- if splitted_event_name.size == 3
28
+ if splitted_event_name.size <= 3
32
29
  Manager.register_listener_configuration(
33
30
  {
34
31
  listener_class: self,
@@ -48,7 +45,7 @@ module EventPeople
48
45
  {
49
46
  listener_class: self,
50
47
  method:,
51
- routing_key: event_name
48
+ routing_key: fixed_event_name(event_name, app_name)
52
49
  }
53
50
  )
54
51
  end
@@ -6,7 +6,7 @@ module EventPeople
6
6
  def bind_all_listeners
7
7
  listener_configurations.each do |config|
8
8
  EventPeople::Listener.on(config[:routing_key]) do |event, context|
9
- config[:listener_class].new(context.channel, context.delivery_info).callback(config[:method], event)
9
+ config[:listener_class].new(context).callback(config[:method], event)
10
10
  end
11
11
  end
12
12
  end
@@ -1,3 +1,3 @@
1
1
  module EventPeople
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
data/lib/event_people.rb CHANGED
@@ -7,8 +7,10 @@ require 'event_people/listener'
7
7
  require 'event_people/listeners/base'
8
8
  require 'event_people/listeners/manager'
9
9
  require 'event_people/broker/base'
10
+ require 'event_people/broker/context'
10
11
  require 'event_people/broker/rabbit'
11
12
  require 'event_people/broker/rabbit/queue'
13
+ require 'event_people/broker/rabbit/rabbit_context'
12
14
  require 'event_people/broker/rabbit/topic'
13
15
 
14
16
  module EventPeople
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_people
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pin People
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-14 00:00:00.000000000 Z
11
+ date: 2022-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -104,8 +104,10 @@ files:
104
104
  - examples/listener.rb
105
105
  - lib/event_people.rb
106
106
  - lib/event_people/broker/base.rb
107
+ - lib/event_people/broker/context.rb
107
108
  - lib/event_people/broker/rabbit.rb
108
109
  - lib/event_people/broker/rabbit/queue.rb
110
+ - lib/event_people/broker/rabbit/rabbit_context.rb
109
111
  - lib/event_people/broker/rabbit/topic.rb
110
112
  - lib/event_people/config.rb
111
113
  - lib/event_people/daemon.rb