event_people 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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