fluent-plugin-record-demux 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c137a1ee4d131ce2bce46dbef0093e9505db2692b11b2f996a12261a0e6b3acd
4
- data.tar.gz: 4f249f03b8b5aa1f2c2d735bab7cf5583d651f4065a22b636236977a8d1c61fb
3
+ metadata.gz: c9da92e93a04e15799949041055f91a9d9ff9327627028ce85322343778311bf
4
+ data.tar.gz: 7eb377c975bdd3bcdbb192dd43a89af9995292dadc5bcfad3174f8f1f580ca09
5
5
  SHA512:
6
- metadata.gz: 27e72866fcba75e5710f12dba49e414b0e878cbe5df25031328c868dd2c51fdbb69c15650b7c8d8cb8570687cdfa5ffd051d9cb6fd47ebf97430d64289c126b1
7
- data.tar.gz: 4b30cf0a8befb3beea9ee1c92572e0f52ce4dcbd6f500bed9657cae383dafc17775b9c102039297a82e5a413e7d22ac1c89abfb38c6700b20ef602f437eadc62
6
+ metadata.gz: a04985f89183aa35c8dbd0b4e72fbc430a5160a71b63eb539a25e720b11d51376f82cb87a07b6317fe89a001876a53161c78adda0151b6f51ca4b9536f826b7d
7
+ data.tar.gz: 586b8c3ffc1b22d553a056fd0e3f96bf9ccada5e7d4c27a5e2b1e6ff714cc376d8c347f96278410b02dbc86c160d4abf94b05a4aa4abccc2f3da6ddb389d6181
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
- # tmp files
1
+ /pkg
2
2
  /tmp
3
- .byebug_history
3
+ /.byebug_history
4
4
  /coverage
5
+ /Gemfile.lock
data/.rubocop.yml CHANGED
@@ -1,18 +1,20 @@
1
- require:
1
+ ---
2
+
3
+ plugins:
2
4
  - rubocop-rake
3
5
 
4
6
  AllCops:
5
- TargetRubyVersion: 2.4
7
+ TargetRubyVersion: 2.7
6
8
  NewCops: enable
7
9
 
8
10
  Gemspec/DevelopmentDependencies:
9
- Enabled: false
11
+ EnforcedStyle: gemspec
10
12
 
11
13
  Layout/LineLength:
12
14
  Max: 100
13
15
 
14
- # Metrics/AbcSize:
15
- # Max: 40
16
+ Metrics/AbcSize:
17
+ Max: 30
16
18
 
17
19
  Metrics/BlockLength:
18
20
  Exclude:
data/README.md CHANGED
@@ -2,25 +2,31 @@
2
2
 
3
3
  [Fluentd](https://fluentd.org/) plugin to dmux records.
4
4
 
5
- ## plugins
5
+ ## plugin - out - record_dmux
6
6
 
7
- ### out - record_dmux
7
+ ### config
8
8
 
9
- #### config
9
+ | setting | type | default | description |
10
+ |----------------------|-----------------|---------|----------------------------------------------------------------------------|
11
+ | tag | string | *nil* | tag to emit records on |
12
+ | demux_keys | array of string | *nil* | keys to demux, computed when nil |
13
+ | shared_keys | array of string | [] | keys to not demux, and to keep |
14
+ | remove_keys | array of string | [] | keys to remove |
15
+ | event_key_uniformize | bool | false | change record/event structure to name/value |
16
+ | event_key_prefix | string | '' | prefix before *name* in case of event_key_uniformize |
17
+ | shared_key_prefix | string | '' | prefix to add in from of *shared keys* key name |
18
+ | timestamp_key | string | *nil* | add timestamp key when defined, computed from time of the event |
19
+ | timestamp_format | enum | iso | can be iso for iso8601(3) or epochmillis for epoch with millisecond format |
10
20
 
11
- | setting | type | default | description |
12
- |---------|------|---------|-------------|
13
- | | | | |
21
+ ### example 1
14
22
 
15
- #### example
16
-
17
- Example of configuration
23
+ Example of configuration:
18
24
 
19
25
  ``` text
20
26
  <match *>
21
- @type record_dmux
27
+ @type record_demux
22
28
 
23
- tag data.dmux
29
+ tag data.demux
24
30
 
25
31
  demux_keys a, b, c
26
32
  shared_keys d, e, f
@@ -28,6 +34,47 @@ Example of configuration
28
34
  </match>
29
35
  ```
30
36
 
37
+ ### example 2
38
+
39
+ With configuration:
40
+
41
+ ``` text
42
+ <match *>
43
+ @type record_demux
44
+
45
+ tag data.demux
46
+
47
+ shared_keys tags_1, tags_2
48
+ remove_keys tmp
49
+ </match>
50
+ ```
51
+
52
+ or with configuration:
53
+
54
+ ``` text
55
+ <match *>
56
+ @type record_demux
57
+
58
+ tag data.demux
59
+
60
+ demux_keys a, b, c
61
+ remove_keys tmp
62
+ </match>
63
+ ```
64
+
65
+ It will transform event like:
66
+
67
+ ``` text
68
+ { "a": "data_a", "b": "data_b", "c": "data_c", "tags_1": "data_1", "tags_2": "data_2", "tmp": "data_tmp" }
69
+ ```
70
+
71
+ into events:
72
+
73
+ ``` text
74
+ { "a": "data_a", "tags_1": "data_1", "tags_2": "data_2" }
75
+ { "b": "data_b", "tags_1": "data_1", "tags_2": "data_2" }
76
+ { "c": "data_c", "tags_1": "data_1", "tags_2": "data_2" }
77
+ ```
31
78
 
32
79
  ## Installation
33
80
 
@@ -42,6 +89,6 @@ Add to Gemfile with:
42
89
 
43
90
  ## Copyright
44
91
 
45
- * Copyright(c) 2024- Thomas Tych
92
+ * Copyright(c) 2024-2025 Thomas Tych
46
93
  * License
47
94
  * Apache License, Version 2.0
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'fluent-plugin-record-demux'
8
- spec.version = '0.1.0'
8
+ spec.version = '0.2.0'
9
9
  spec.authors = ['Thomas Tych']
10
10
  spec.email = ['thomas.tych@gmail.com']
11
11
 
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = 'https://gitlab.com/ttych/fluent-plugin-record-demux'
14
14
  spec.license = 'Apache-2.0'
15
15
 
16
- spec.required_ruby_version = '>= 2.4.0'
16
+ spec.required_ruby_version = '>= 2.7.0'
17
17
 
18
18
  spec.metadata['rubygems_mfa_required'] = 'true'
19
19
 
@@ -24,16 +24,16 @@ Gem::Specification.new do |spec|
24
24
  spec.executables = files.grep(%r{^bin/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ['lib']
26
26
 
27
- spec.add_development_dependency 'bump', '~> 0.10.0'
28
- spec.add_development_dependency 'bundler', '~> 2.5.6'
27
+ spec.add_development_dependency 'bump', '~> 0.10'
28
+ spec.add_development_dependency 'bundler', '~> 2.6', '>= 2.6.5'
29
29
  spec.add_development_dependency 'byebug', '~> 11.1', '>= 11.1.3'
30
- spec.add_development_dependency 'rake', '~> 13.1.0'
31
- spec.add_development_dependency 'reek', '~> 6.1', '>= 6.1.4'
32
- spec.add_development_dependency 'rubocop', '~> 1.56'
33
- spec.add_development_dependency 'rubocop-rake', '~> 0.6.0'
34
- spec.add_development_dependency 'simplecov', '~> 0.22.0'
35
- spec.add_development_dependency 'test-unit', '~> 3.6.2'
36
- spec.add_development_dependency 'timecop', '~> 0.9.6'
37
-
38
- spec.add_runtime_dependency 'fluentd', ['>= 0.14.10', '< 2']
30
+ spec.add_development_dependency 'rake', '~> 13.2', '>= 13.2.1'
31
+ spec.add_development_dependency 'reek', '~> 6.4'
32
+ spec.add_development_dependency 'rubocop', '~> 1.74'
33
+ spec.add_development_dependency 'rubocop-rake', '~> 0.7', '>= 0.7.1'
34
+ spec.add_development_dependency 'simplecov', '~> 0.22'
35
+ spec.add_development_dependency 'test-unit', '~> 3.6', '>= 3.6.7'
36
+ spec.add_development_dependency 'timecop', '~> 0.9', '>= 0.9.10'
37
+
38
+ spec.add_dependency 'fluentd', ['>= 0.14.10', '< 2']
39
39
  end
@@ -29,11 +29,11 @@ module Fluent
29
29
  config_param :tag, :string, default: nil
30
30
 
31
31
  desc 'list of keys to demux'
32
- config_param :demux_keys, :array, default: nil
32
+ config_param :demux_keys, :array, value_type: :string, default: nil
33
33
  desc 'list of keys to be shared in all new records'
34
- config_param :shared_keys, :array, default: []
34
+ config_param :shared_keys, :array, value_type: :string, default: nil
35
35
  desc 'list of keys to be removed'
36
- config_param :remove_keys, :array, default: []
36
+ config_param :remove_keys, :array, value_type: :string, default: []
37
37
 
38
38
  desc 'event key format uniformize'
39
39
  config_param :event_key_uniformize, :bool, default: false
@@ -51,31 +51,45 @@ module Fluent
51
51
  def configure(conf)
52
52
  super
53
53
 
54
- return unless @tag.nil?
54
+ raise Fluent::ConfigError, "#{NAME}: `tag` must be specified" if tag.nil? || tag.empty?
55
55
 
56
- raise Fluent::ConfigError, 'out_record_splitter: `tag` must be specified'
56
+ if demux_keys.nil? && shared_keys.nil?
57
+ raise Fluent::ConfigError, 'specify demux_keys or shared_keys'
58
+ end
59
+
60
+ true
57
61
  end
58
62
 
59
63
  def multi_workers_ready?
60
64
  true
61
65
  end
62
66
 
63
- def process(_tag, es)
64
- es.each do |time, record|
67
+ def process(_events_tag, events)
68
+ demux_events = MultiEventStream.new
69
+ events.each do |time, record|
65
70
  record_keys = record.keys - remove_keys
66
71
 
67
- shared_keys = record_keys.intersection(@shared_keys)
68
- shared = record.select { |key, _value| shared_keys.include?(key) }
69
- demux_keys = record_keys - shared_keys if !demux_keys || demux_keys.empty?
72
+ record_shared_keys = if shared_keys.nil?
73
+ record_keys - demux_keys
74
+ else
75
+ record_keys.intersection(shared_keys)
76
+ end
77
+ record_shared = record.slice(*record_shared_keys)
70
78
 
71
- demux_keys.each do |key|
72
- next unless record.key?(key)
79
+ record_demux_keys = if demux_keys.nil?
80
+ record_keys - record_shared_keys
81
+ else
82
+ record_keys.intersection(demux_keys)
83
+ end
73
84
 
74
- new_record = format(time, key, record[key], shared)
85
+ record_demux_keys.each do |key|
86
+ next unless record.key?(key)
75
87
 
76
- router.emit(@tag, time, new_record)
88
+ new_record = format(time, key, record[key], record_shared)
89
+ demux_events.add(time, new_record)
77
90
  end
78
91
  end
92
+ router.emit_stream(tag, demux_events)
79
93
  end
80
94
 
81
95
  private
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-record-demux
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Tych
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-04-15 00:00:00.000000000 Z
10
+ date: 2025-03-14 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bump
@@ -16,28 +15,34 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 0.10.0
18
+ version: '0.10'
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: 0.10.0
25
+ version: '0.10'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: bundler
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
- version: 2.5.6
32
+ version: '2.6'
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 2.6.5
34
36
  type: :development
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
37
39
  requirements:
38
40
  - - "~>"
39
41
  - !ruby/object:Gem::Version
40
- version: 2.5.6
42
+ version: '2.6'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 2.6.5
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: byebug
43
48
  requirement: !ruby/object:Gem::Requirement
@@ -64,104 +69,122 @@ dependencies:
64
69
  requirements:
65
70
  - - "~>"
66
71
  - !ruby/object:Gem::Version
67
- version: 13.1.0
72
+ version: '13.2'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 13.2.1
68
76
  type: :development
69
77
  prerelease: false
70
78
  version_requirements: !ruby/object:Gem::Requirement
71
79
  requirements:
72
80
  - - "~>"
73
81
  - !ruby/object:Gem::Version
74
- version: 13.1.0
82
+ version: '13.2'
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 13.2.1
75
86
  - !ruby/object:Gem::Dependency
76
87
  name: reek
77
88
  requirement: !ruby/object:Gem::Requirement
78
89
  requirements:
79
90
  - - "~>"
80
91
  - !ruby/object:Gem::Version
81
- version: '6.1'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 6.1.4
92
+ version: '6.4'
85
93
  type: :development
86
94
  prerelease: false
87
95
  version_requirements: !ruby/object:Gem::Requirement
88
96
  requirements:
89
97
  - - "~>"
90
98
  - !ruby/object:Gem::Version
91
- version: '6.1'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 6.1.4
99
+ version: '6.4'
95
100
  - !ruby/object:Gem::Dependency
96
101
  name: rubocop
97
102
  requirement: !ruby/object:Gem::Requirement
98
103
  requirements:
99
104
  - - "~>"
100
105
  - !ruby/object:Gem::Version
101
- version: '1.56'
106
+ version: '1.74'
102
107
  type: :development
103
108
  prerelease: false
104
109
  version_requirements: !ruby/object:Gem::Requirement
105
110
  requirements:
106
111
  - - "~>"
107
112
  - !ruby/object:Gem::Version
108
- version: '1.56'
113
+ version: '1.74'
109
114
  - !ruby/object:Gem::Dependency
110
115
  name: rubocop-rake
111
116
  requirement: !ruby/object:Gem::Requirement
112
117
  requirements:
113
118
  - - "~>"
114
119
  - !ruby/object:Gem::Version
115
- version: 0.6.0
120
+ version: '0.7'
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: 0.7.1
116
124
  type: :development
117
125
  prerelease: false
118
126
  version_requirements: !ruby/object:Gem::Requirement
119
127
  requirements:
120
128
  - - "~>"
121
129
  - !ruby/object:Gem::Version
122
- version: 0.6.0
130
+ version: '0.7'
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: 0.7.1
123
134
  - !ruby/object:Gem::Dependency
124
135
  name: simplecov
125
136
  requirement: !ruby/object:Gem::Requirement
126
137
  requirements:
127
138
  - - "~>"
128
139
  - !ruby/object:Gem::Version
129
- version: 0.22.0
140
+ version: '0.22'
130
141
  type: :development
131
142
  prerelease: false
132
143
  version_requirements: !ruby/object:Gem::Requirement
133
144
  requirements:
134
145
  - - "~>"
135
146
  - !ruby/object:Gem::Version
136
- version: 0.22.0
147
+ version: '0.22'
137
148
  - !ruby/object:Gem::Dependency
138
149
  name: test-unit
139
150
  requirement: !ruby/object:Gem::Requirement
140
151
  requirements:
141
152
  - - "~>"
142
153
  - !ruby/object:Gem::Version
143
- version: 3.6.2
154
+ version: '3.6'
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: 3.6.7
144
158
  type: :development
145
159
  prerelease: false
146
160
  version_requirements: !ruby/object:Gem::Requirement
147
161
  requirements:
148
162
  - - "~>"
149
163
  - !ruby/object:Gem::Version
150
- version: 3.6.2
164
+ version: '3.6'
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: 3.6.7
151
168
  - !ruby/object:Gem::Dependency
152
169
  name: timecop
153
170
  requirement: !ruby/object:Gem::Requirement
154
171
  requirements:
155
172
  - - "~>"
156
173
  - !ruby/object:Gem::Version
157
- version: 0.9.6
174
+ version: '0.9'
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: 0.9.10
158
178
  type: :development
159
179
  prerelease: false
160
180
  version_requirements: !ruby/object:Gem::Requirement
161
181
  requirements:
162
182
  - - "~>"
163
183
  - !ruby/object:Gem::Version
164
- version: 0.9.6
184
+ version: '0.9'
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: 0.9.10
165
188
  - !ruby/object:Gem::Dependency
166
189
  name: fluentd
167
190
  requirement: !ruby/object:Gem::Requirement
@@ -182,7 +205,6 @@ dependencies:
182
205
  - - "<"
183
206
  - !ruby/object:Gem::Version
184
207
  version: '2'
185
- description:
186
208
  email:
187
209
  - thomas.tych@gmail.com
188
210
  executables: []
@@ -192,7 +214,6 @@ files:
192
214
  - ".gitignore"
193
215
  - ".rubocop.yml"
194
216
  - Gemfile
195
- - Gemfile.lock
196
217
  - LICENSE
197
218
  - README.md
198
219
  - Rakefile
@@ -203,7 +224,6 @@ licenses:
203
224
  - Apache-2.0
204
225
  metadata:
205
226
  rubygems_mfa_required: 'true'
206
- post_install_message:
207
227
  rdoc_options: []
208
228
  require_paths:
209
229
  - lib
@@ -211,15 +231,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
231
  requirements:
212
232
  - - ">="
213
233
  - !ruby/object:Gem::Version
214
- version: 2.4.0
234
+ version: 2.7.0
215
235
  required_rubygems_version: !ruby/object:Gem::Requirement
216
236
  requirements:
217
237
  - - ">="
218
238
  - !ruby/object:Gem::Version
219
239
  version: '0'
220
240
  requirements: []
221
- rubygems_version: 3.5.6
222
- signing_key:
241
+ rubygems_version: 3.6.5
223
242
  specification_version: 4
224
243
  summary: fluentd plugin to demux record by keys.
225
244
  test_files: []
data/Gemfile.lock DELETED
@@ -1,131 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- fluent-plugin-record-demux (0.1.0)
5
- fluentd (>= 0.14.10, < 2)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- ast (2.4.2)
11
- bigdecimal (3.1.7)
12
- bump (0.10.0)
13
- byebug (11.1.3)
14
- concurrent-ruby (1.2.3)
15
- cool.io (1.8.0)
16
- docile (1.4.0)
17
- dry-configurable (1.1.0)
18
- dry-core (~> 1.0, < 2)
19
- zeitwerk (~> 2.6)
20
- dry-core (1.0.1)
21
- concurrent-ruby (~> 1.0)
22
- zeitwerk (~> 2.6)
23
- dry-inflector (1.0.0)
24
- dry-initializer (3.1.1)
25
- dry-logic (1.5.0)
26
- concurrent-ruby (~> 1.0)
27
- dry-core (~> 1.0, < 2)
28
- zeitwerk (~> 2.6)
29
- dry-schema (1.13.3)
30
- concurrent-ruby (~> 1.0)
31
- dry-configurable (~> 1.0, >= 1.0.1)
32
- dry-core (~> 1.0, < 2)
33
- dry-initializer (~> 3.0)
34
- dry-logic (>= 1.4, < 2)
35
- dry-types (>= 1.7, < 2)
36
- zeitwerk (~> 2.6)
37
- dry-types (1.7.2)
38
- bigdecimal (~> 3.0)
39
- concurrent-ruby (~> 1.0)
40
- dry-core (~> 1.0)
41
- dry-inflector (~> 1.0)
42
- dry-logic (~> 1.4)
43
- zeitwerk (~> 2.6)
44
- fluentd (1.16.5)
45
- bundler
46
- cool.io (>= 1.4.5, < 2.0.0)
47
- http_parser.rb (>= 0.5.1, < 0.9.0)
48
- msgpack (>= 1.3.1, < 2.0.0)
49
- serverengine (>= 2.3.2, < 3.0.0)
50
- sigdump (~> 0.2.5)
51
- strptime (>= 0.2.4, < 1.0.0)
52
- tzinfo (>= 1.0, < 3.0)
53
- tzinfo-data (~> 1.0)
54
- webrick (~> 1.4)
55
- yajl-ruby (~> 1.0)
56
- http_parser.rb (0.8.0)
57
- json (2.7.2)
58
- language_server-protocol (3.17.0.3)
59
- msgpack (1.7.2)
60
- parallel (1.24.0)
61
- parser (3.3.0.5)
62
- ast (~> 2.4.1)
63
- racc
64
- power_assert (2.0.3)
65
- racc (1.7.3)
66
- rainbow (3.1.1)
67
- rake (13.1.0)
68
- reek (6.3.0)
69
- dry-schema (~> 1.13.0)
70
- parser (~> 3.3.0)
71
- rainbow (>= 2.0, < 4.0)
72
- rexml (~> 3.1)
73
- regexp_parser (2.9.0)
74
- rexml (3.2.6)
75
- rubocop (1.63.1)
76
- json (~> 2.3)
77
- language_server-protocol (>= 3.17.0)
78
- parallel (~> 1.10)
79
- parser (>= 3.3.0.2)
80
- rainbow (>= 2.2.2, < 4.0)
81
- regexp_parser (>= 1.8, < 3.0)
82
- rexml (>= 3.2.5, < 4.0)
83
- rubocop-ast (>= 1.31.1, < 2.0)
84
- ruby-progressbar (~> 1.7)
85
- unicode-display_width (>= 2.4.0, < 3.0)
86
- rubocop-ast (1.31.2)
87
- parser (>= 3.3.0.4)
88
- rubocop-rake (0.6.0)
89
- rubocop (~> 1.0)
90
- ruby-progressbar (1.13.0)
91
- serverengine (2.3.2)
92
- sigdump (~> 0.2.2)
93
- sigdump (0.2.5)
94
- simplecov (0.22.0)
95
- docile (~> 1.1)
96
- simplecov-html (~> 0.11)
97
- simplecov_json_formatter (~> 0.1)
98
- simplecov-html (0.12.3)
99
- simplecov_json_formatter (0.1.4)
100
- strptime (0.2.5)
101
- test-unit (3.6.2)
102
- power_assert
103
- timecop (0.9.8)
104
- tzinfo (2.0.6)
105
- concurrent-ruby (~> 1.0)
106
- tzinfo-data (1.2024.1)
107
- tzinfo (>= 1.0.0)
108
- unicode-display_width (2.5.0)
109
- webrick (1.8.1)
110
- yajl-ruby (1.4.3)
111
- zeitwerk (2.6.13)
112
-
113
- PLATFORMS
114
- ruby
115
- x86_64-linux
116
-
117
- DEPENDENCIES
118
- bump (~> 0.10.0)
119
- bundler (~> 2.5.6)
120
- byebug (~> 11.1, >= 11.1.3)
121
- fluent-plugin-record-demux!
122
- rake (~> 13.1.0)
123
- reek (~> 6.1, >= 6.1.4)
124
- rubocop (~> 1.56)
125
- rubocop-rake (~> 0.6.0)
126
- simplecov (~> 0.22.0)
127
- test-unit (~> 3.6.2)
128
- timecop (~> 0.9.6)
129
-
130
- BUNDLED WITH
131
- 2.5.6