hubbado-log_ignored_message 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e8f6eb0a81ac651197c1aad9c2e7dfe3b4dfb8d2534bb23dd22934d590ab80ee
4
+ data.tar.gz: 7a213e32d3154120e1f089fe09d80026a56cded57f51249bf115d55e2c9de221
5
+ SHA512:
6
+ metadata.gz: 89f0879ddddca3efc1e28590b929c8c70e87f8c68657ef09194d8b2b952d2eb786b37cb264eb1eb140809abf24f55215c62cf1a545274d71b464b622eed2b7cd
7
+ data.tar.gz: 6192fa2f8460b308180f3bce380555849a2d75c02b30f9e626585e8f202fd6ec43c184414d86e5436a6f3b43479e253cbc77af265997471417b2e7d7b781fca4
@@ -0,0 +1,15 @@
1
+ class LogIgnoredMessage
2
+ module Controls
3
+ module Message
4
+ def self.example
5
+ Messaging::Controls::Message.example
6
+ end
7
+
8
+ module Other
9
+ def self.example
10
+ Messaging::Controls::Message.example(some_attribute: 'other')
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ class LogIgnoredMessage
2
+ module Controls
3
+ module Reason
4
+ def self.example
5
+ 'already processed'
6
+ end
7
+
8
+ module Other
9
+ def self.example
10
+ 'some other reason'
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,6 @@
1
+ require "identifier/uuid/controls"
2
+ require "messaging"
3
+ require "messaging/controls"
4
+
5
+ require "log_ignored_message/controls/message"
6
+ require "log_ignored_message/controls/reason"
@@ -0,0 +1,46 @@
1
+ require 'configure'
2
+ require 'log'
3
+
4
+ class LogIgnoredMessage
5
+ extend Configure::Macro
6
+ include Log::Dependency
7
+
8
+ configure :log_ignored_message
9
+
10
+ def self.build
11
+ new
12
+ end
13
+
14
+ def call(message, reason)
15
+ logger.info(
16
+ "#{message.message_type} #{message.metadata.global_position} ignored, #{reason}",
17
+ tag: :ignored
18
+ )
19
+ end
20
+
21
+ module Substitute
22
+ def self.build
23
+ LogIgnored.new
24
+ end
25
+
26
+ class LogIgnored
27
+ def call(message, reason)
28
+ invocations << [message, reason]
29
+ end
30
+
31
+ def called?
32
+ invocations.any?
33
+ end
34
+
35
+ def called_with?(message, reason)
36
+ invocations.include? [message, reason]
37
+ end
38
+
39
+ private
40
+
41
+ def invocations
42
+ @invocations ||= []
43
+ end
44
+ end
45
+ end
46
+ end
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hubbado-log_ignored_message
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - sam@hubbado.com
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-05-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: evt-configure
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: evt-log
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'
41
+ - !ruby/object:Gem::Dependency
42
+ name: evt-identifier-uuid
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: hubbado-style
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: evt-messaging
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: test_bench
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description:
98
+ email:
99
+ executables: []
100
+ extensions: []
101
+ extra_rdoc_files: []
102
+ files:
103
+ - lib/log_ignored_message.rb
104
+ - lib/log_ignored_message/controls.rb
105
+ - lib/log_ignored_message/controls/message.rb
106
+ - lib/log_ignored_message/controls/reason.rb
107
+ homepage: https://github.com/hubbado/hubbado-log_ignored_message
108
+ licenses:
109
+ - MIT
110
+ metadata: {}
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '3.0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ requirements: []
126
+ rubygems_version: 3.4.10
127
+ signing_key:
128
+ specification_version: 4
129
+ summary: Logs that a Eventide message has been ignored
130
+ test_files: []