evt-messaging 0.25.0.1 → 0.25.1.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/controls/handler.rb +41 -0
- data/lib/messaging/handle.rb +30 -4
- metadata +3 -4
- data/lib/loader.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6626108b1d40bc360d4ba83280307ad1454c0c89bc1ec253ae1a5f0e53755492
|
4
|
+
data.tar.gz: 12e06848c5210aaa07df1b5ffe7e08e6903cb3346117de5eeaa4aa88674db339
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3aa934fc38a605d89b867608852d95e52fe0305b602d05355e0e8e26776f81f4323a7faa692a143d07b3c09e5e907b5f6d50500949e1ccf86a63dc66d8ffa9b0
|
7
|
+
data.tar.gz: 89de3b229ad7b317b7cf3e3c185e5f3a599c00e9fe8ad9f53f697256ce0c35abbf5fb17f06ab9b8deead40a01b9739aba0546f299113c23f78e74675d3e63693
|
@@ -42,6 +42,47 @@ module Messaging
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
45
|
+
|
46
|
+
module SessionArgument
|
47
|
+
class Example
|
48
|
+
include Messaging::Handle
|
49
|
+
|
50
|
+
attr_accessor :session
|
51
|
+
|
52
|
+
def configure(session: nil)
|
53
|
+
self.session = session
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
module Anomaly
|
58
|
+
module Required
|
59
|
+
class Example
|
60
|
+
include Messaging::Handle
|
61
|
+
|
62
|
+
def configure(session:)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
module Positional
|
68
|
+
class Example
|
69
|
+
include Messaging::Handle
|
70
|
+
|
71
|
+
def configure(session)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
module Optional
|
76
|
+
class Example
|
77
|
+
include Messaging::Handle
|
78
|
+
|
79
|
+
def configure(session=nil)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
45
86
|
end
|
46
87
|
end
|
47
88
|
end
|
data/lib/messaging/handle.rb
CHANGED
@@ -19,18 +19,44 @@ module Messaging
|
|
19
19
|
end
|
20
20
|
|
21
21
|
module Build
|
22
|
-
def build(strict: nil)
|
22
|
+
def build(strict: nil, session: nil)
|
23
23
|
instance = new
|
24
24
|
instance.strict = strict
|
25
25
|
Log.configure(instance, attr_name: :handler_logger)
|
26
|
-
|
26
|
+
|
27
|
+
if Build.configure_session?(instance)
|
28
|
+
instance.configure(session: session)
|
29
|
+
else
|
30
|
+
instance.configure
|
31
|
+
end
|
32
|
+
|
27
33
|
instance
|
28
34
|
end
|
35
|
+
|
36
|
+
def self.configure_session?(instance)
|
37
|
+
configure_method = instance.method(:configure)
|
38
|
+
|
39
|
+
parameter_type, _ = configure_method.parameters.find do |type, name|
|
40
|
+
name == :session
|
41
|
+
end
|
42
|
+
|
43
|
+
return false if parameter_type.nil?
|
44
|
+
|
45
|
+
return true if parameter_type == :key
|
46
|
+
|
47
|
+
error_message = "Optional session parameter of configure is not a keyword argument (Type: #{parameter_type.inspect})"
|
48
|
+
logger.error { error_message }
|
49
|
+
raise ArgumentError, error_message
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.logger
|
53
|
+
@logger ||= Log.build(self)
|
54
|
+
end
|
29
55
|
end
|
30
56
|
|
31
57
|
module Call
|
32
|
-
def call(message_or_message_data, strict: nil)
|
33
|
-
instance = build(strict: strict)
|
58
|
+
def call(message_or_message_data, strict: nil, session: nil)
|
59
|
+
instance = build(strict: strict, session: session)
|
34
60
|
instance.(message_or_message_data)
|
35
61
|
end
|
36
62
|
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: 0.25.0
|
4
|
+
version: 0.25.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Eventide Project
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: evt-message_store
|
@@ -44,7 +44,6 @@ executables: []
|
|
44
44
|
extensions: []
|
45
45
|
extra_rdoc_files: []
|
46
46
|
files:
|
47
|
-
- lib/loader.rb
|
48
47
|
- lib/messaging.rb
|
49
48
|
- lib/messaging/category.rb
|
50
49
|
- lib/messaging/controls.rb
|
@@ -93,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
92
|
version: '0'
|
94
93
|
requirements: []
|
95
94
|
rubyforge_project:
|
96
|
-
rubygems_version: 2.7.
|
95
|
+
rubygems_version: 2.7.6
|
97
96
|
signing_key:
|
98
97
|
specification_version: 4
|
99
98
|
summary: Common primitives for platform-specific messaging implementations for Eventide
|
data/lib/loader.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
lib/messaging.rb
|