evt-messaging 2.5.2.1 → 2.5.3.0
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/lib/messaging.rb +1 -0
- data/lib/messaging/controls.rb +1 -0
- data/lib/messaging/controls/handler.rb +20 -0
- data/lib/messaging/controls/settings.rb +16 -0
- data/lib/messaging/handle.rb +19 -14
- metadata +20 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29e2d25659fffe70ab1e14512f6c4a4adf7c9daa929f7303e3b96ae169fa4822
|
4
|
+
data.tar.gz: 181e600b4ecebc75a08607b364c50e88600788e6fc2e7e62672df10b5c337998
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41165cbff3b2bb5a74a39809812851737b228ad1a59d85ecf2a8f46268042e06aed3c0fc3223f30e084febec586b1df09234e625286e7a8dfff617a15878b630
|
7
|
+
data.tar.gz: 88c7b54092d4b088de4c95f21f576c7c3e04a3e4cc805b0c32cdf4ae0479865c82e9d2195968ae7046d86508ba2aba1229ff9d7854179786447b2b798ecd7235
|
data/lib/messaging.rb
CHANGED
data/lib/messaging/controls.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
module Messaging
|
2
2
|
module Controls
|
3
3
|
module Handler
|
4
|
+
def self.example
|
5
|
+
Example.new
|
6
|
+
end
|
7
|
+
|
4
8
|
class Example
|
5
9
|
include Messaging::Handle
|
6
10
|
include Controls::Message
|
@@ -97,6 +101,22 @@ module Messaging
|
|
97
101
|
end
|
98
102
|
end
|
99
103
|
end
|
104
|
+
|
105
|
+
module Settings
|
106
|
+
Error = Class.new(RuntimeError)
|
107
|
+
|
108
|
+
class Example
|
109
|
+
include Messaging::Handle
|
110
|
+
|
111
|
+
setting :some_setting
|
112
|
+
|
113
|
+
attr_accessor :some_other_setting
|
114
|
+
|
115
|
+
def handle(message_data)
|
116
|
+
raise Settings::Error if some_setting.nil?
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
100
120
|
end
|
101
121
|
end
|
102
122
|
end
|
data/lib/messaging/handle.rb
CHANGED
@@ -6,6 +6,7 @@ module Messaging
|
|
6
6
|
cls.class_exec do
|
7
7
|
include Dependency
|
8
8
|
include Virtual
|
9
|
+
include Settings::Setting
|
9
10
|
|
10
11
|
def handler_logger
|
11
12
|
@handler_logger ||= Log.get(self)
|
@@ -25,10 +26,14 @@ module Messaging
|
|
25
26
|
end
|
26
27
|
|
27
28
|
module Build
|
28
|
-
def build(strict: nil, session: nil)
|
29
|
+
def build(strict: nil, session: nil, settings: nil)
|
29
30
|
instance = new
|
30
31
|
instance.strict = strict
|
31
32
|
|
33
|
+
if not settings.nil?
|
34
|
+
settings.set(instance)
|
35
|
+
end
|
36
|
+
|
32
37
|
if Build.configure_session?(instance)
|
33
38
|
instance.configure(session: session)
|
34
39
|
else
|
@@ -60,8 +65,8 @@ module Messaging
|
|
60
65
|
end
|
61
66
|
|
62
67
|
module Call
|
63
|
-
def call(message_or_message_data, strict: nil, session: nil)
|
64
|
-
instance = build(strict: strict, session: session)
|
68
|
+
def call(message_or_message_data, strict: nil, session: nil, settings: nil)
|
69
|
+
instance = build(strict: strict, session: session, settings: settings)
|
65
70
|
instance.(message_or_message_data)
|
66
71
|
end
|
67
72
|
end
|
@@ -154,7 +159,7 @@ module Messaging
|
|
154
159
|
def handle_message(message, strict: nil)
|
155
160
|
strict ||= self.strict?
|
156
161
|
|
157
|
-
handler_logger.trace(tags: [:
|
162
|
+
handler_logger.trace(tags: [:dispatch, :message]) { "Dispatching message (Message class: #{message.class.name})" }
|
158
163
|
handler_logger.trace(tags: [:data, :message]) { message.pretty_inspect }
|
159
164
|
|
160
165
|
handler = self.class.handler(message)
|
@@ -162,8 +167,12 @@ module Messaging
|
|
162
167
|
unless handler.nil?
|
163
168
|
message_type = message.message_type
|
164
169
|
|
165
|
-
handler_logger.
|
170
|
+
handler_logger.trace(tag: [:handle, :message]) { "Handling Message (Type: #{message_type}, Method: #{handler})" }
|
171
|
+
|
166
172
|
public_send(handler, message)
|
173
|
+
|
174
|
+
handler_logger.info(tags: [:handle, :message]) { "Handled message (Message class: #{message.class.name})" }
|
175
|
+
handler_logger.info(tags: [:data, :message]) { message.pretty_inspect }
|
167
176
|
else
|
168
177
|
if strict
|
169
178
|
error_msg = "#{self.class.name} does not implement a handler for #{message.message_type}. Cannot handle the message."
|
@@ -172,16 +181,13 @@ module Messaging
|
|
172
181
|
end
|
173
182
|
end
|
174
183
|
|
175
|
-
handler_logger.info(tags: [:handle, :message]) { "Handled message (Message class: #{message.class.name})" }
|
176
|
-
handler_logger.info(tags: [:data, :message]) { message.pretty_inspect }
|
177
|
-
|
178
184
|
message
|
179
185
|
end
|
180
186
|
|
181
187
|
def handle_message_data(message_data, strict: nil)
|
182
188
|
strict ||= self.strict?
|
183
189
|
|
184
|
-
handler_logger.trace(tags: [:
|
190
|
+
handler_logger.trace(tags: [:dispatch, :message_data]) { "Dispatching message data (Type: #{message_data.type})" }
|
185
191
|
handler_logger.trace(tags: [:data, :message_data]) { message_data.pretty_inspect }
|
186
192
|
|
187
193
|
message = nil
|
@@ -203,15 +209,17 @@ module Messaging
|
|
203
209
|
|
204
210
|
message_type = message.message_type
|
205
211
|
|
206
|
-
handler_logger.debug(tag: :handle) { "Handling Message (Type: #{message_type}, Method: #{handler})" }
|
207
212
|
public_send(handler, message)
|
208
213
|
else
|
209
214
|
if respond_to?(:handle)
|
210
215
|
message_type = message_data.type
|
211
|
-
handler_logger.
|
216
|
+
handler_logger.trace(tag: [:handle, :message_data]) { "Handling Message Data (Type: #{message_type}, Method: handle" }
|
212
217
|
|
213
218
|
handle(message_data)
|
214
219
|
|
220
|
+
handler_logger.info(tags: [:handle, :message_data]) { "Handled message data (Type: #{message_data.type})" }
|
221
|
+
handler_logger.info(tags: [:data, :message_data]) { message_data.pretty_inspect }
|
222
|
+
|
215
223
|
message = message_data
|
216
224
|
else
|
217
225
|
if strict
|
@@ -222,9 +230,6 @@ module Messaging
|
|
222
230
|
end
|
223
231
|
end
|
224
232
|
|
225
|
-
handler_logger.info(tags: [:handle, :message_data]) { "Handled message data (Type: #{message_data.type})" }
|
226
|
-
handler_logger.info(tags: [:data, :message_data]) { message_data.pretty_inspect }
|
227
|
-
|
228
233
|
message
|
229
234
|
end
|
230
235
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evt-messaging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Eventide Project
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: evt-message_store
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: evt-settings
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: test_bench
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,6 +68,7 @@ files:
|
|
54
68
|
- lib/messaging/controls/message_data.rb
|
55
69
|
- lib/messaging/controls/metadata.rb
|
56
70
|
- lib/messaging/controls/random.rb
|
71
|
+
- lib/messaging/controls/settings.rb
|
57
72
|
- lib/messaging/controls/stream_name.rb
|
58
73
|
- lib/messaging/controls/time.rb
|
59
74
|
- lib/messaging/controls/write.rb
|
@@ -76,7 +91,7 @@ homepage: https://github.com/eventide-project/messaging
|
|
76
91
|
licenses:
|
77
92
|
- MIT
|
78
93
|
metadata: {}
|
79
|
-
post_install_message:
|
94
|
+
post_install_message:
|
80
95
|
rdoc_options: []
|
81
96
|
require_paths:
|
82
97
|
- lib
|
@@ -92,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
107
|
version: '0'
|
93
108
|
requirements: []
|
94
109
|
rubygems_version: 3.1.2
|
95
|
-
signing_key:
|
110
|
+
signing_key:
|
96
111
|
specification_version: 4
|
97
112
|
summary: Common primitives for platform-specific messaging implementations for Eventide
|
98
113
|
test_files: []
|