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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/event_people/broker/context.rb +17 -0
- data/lib/event_people/broker/rabbit/queue.rb +1 -1
- data/lib/event_people/broker/rabbit/rabbit_context.rb +22 -0
- data/lib/event_people/listeners/base.rb +7 -10
- data/lib/event_people/listeners/manager.rb +1 -1
- data/lib/event_people/version.rb +1 -1
- data/lib/event_people.rb +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7f58e0e92901db867e0a3a1e74a7019bf25d62fda4d9e6506f1722b4c6c6594
|
4
|
+
data.tar.gz: 6d79d5a555bbb697e4a94f58e1fc0c9cd8e474f5214237d6e2c160ead786bc73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef16aeb1e9544b762663d1fa70a689bda225400560061f4db7c8a71cd83fd84f481c0c286d1f020d6fda8b28b67383ed8afb5367849e339172ab31d45a7645a6
|
7
|
+
data.tar.gz: 9ef63b463f16b335c71e6130745e3337bb7240a59931f38e5fbeeaf8d9071d3fa90411882233c4e86ad1305ac7b68a7b1e60d2ba77e307af65000a8e54bd5d1d
|
data/Gemfile.lock
CHANGED
@@ -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::
|
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
|
-
|
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
|
-
|
13
|
+
@context.success!
|
17
14
|
end
|
18
15
|
|
19
16
|
def fail!
|
20
|
-
|
17
|
+
@context.fail!
|
21
18
|
end
|
22
19
|
|
23
20
|
def reject!
|
24
|
-
|
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
|
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
|
9
|
+
config[:listener_class].new(context).callback(config[:method], event)
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
data/lib/event_people/version.rb
CHANGED
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.
|
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-
|
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
|