fluent-plugin-record-modifier 2.2.0 → 2.2.1

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: 929d54c71c0ef86c544ed2797b68f8cb77439ae848ba10d1b95139a5141fa532
4
- data.tar.gz: ff1966ae5435bdc0a013e375f5c6a7e25d05c3a0c31966637befe0edda4d2f4d
3
+ metadata.gz: 0162d793dd9d7c24bb4e3ec50aabfd2aa1e094b389d7da5236a9c99a60360209
4
+ data.tar.gz: 0e4a332894d537696733f3b0cfd824d689a187187ec86987a8bf533ef4d4fff9
5
5
  SHA512:
6
- metadata.gz: efa42ddd9e8e6bbc02d69a81377356e47a44a02bdbcc18cfbbfa10cc043dd85f90127d92f359f827b6f72b5f5b27a4fb805723e17a55b89f9c11eef9c4ca2f33
7
- data.tar.gz: ff225acaaa97faa6223d1fe266a1be717a457eb9941db840a080c1c0a89f57deceb50808351dee4a9028c1a7630997a680743a4041508987ed114c36ec8dad6f
6
+ metadata.gz: 21a8f63aba701b8ffa5c77cf4b1bc6fc373b015a601e658abe77de4a1763de485e5e416b8958a6e9d0ace9b4dfc3ac401fc2ab9f07189b8452daea21153a0816
7
+ data.tar.gz: c5450f8d89ca5f9578947e49e2723620641658db0607a69ac8cceb19d1bcb3903562c380f0bc5f831c7fe5baeaa7a9c44a54dd485dd00719d3d05f31cedaee00
@@ -9,12 +9,12 @@ jobs:
9
9
  strategy:
10
10
  fail-fast: false
11
11
  matrix:
12
- ruby: ['2.7', '3.0', '3.1', '3.2']
12
+ ruby: ['3.1', '3.2', '3.3', '3.4']
13
13
  os:
14
14
  - ubuntu-latest
15
15
  experimental: [false]
16
16
  include:
17
- - ruby-version: head
17
+ - ruby: head
18
18
  os: ubuntu-latest
19
19
  experimental: true
20
20
 
data/ChangeLog CHANGED
@@ -1,3 +1,12 @@
1
+ Release 2.2.1 - 2025/08/24
2
+
3
+ * Add `use_nil` support
4
+
5
+
6
+ Release 2.2.0 - 2023/12/08
7
+
8
+ * `remove_keys` parameter supports nested delete
9
+
1
10
  Release 2.1.1 - 2022/08/25
2
11
 
3
12
  * Improve whitelist_keys performance
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.2.1
@@ -74,7 +74,7 @@ DESC
74
74
  conf.elements.select { |element| element.name == 'record' }.each do |element|
75
75
  element.each_pair do |k, v|
76
76
  element.has_key?(k) # to suppress unread configuration warning
77
- @has_tag_parts = true if v.include?('tag_parts')
77
+ @has_tag_parts = true if v && v.include?('tag_parts')
78
78
  @map[k] = DynamicExpander.new(k, v, @prepare_value)
79
79
  end
80
80
  end
@@ -167,7 +167,7 @@ DESC
167
167
 
168
168
  class DynamicExpander
169
169
  def initialize(param_key, param_value, prepare_value)
170
- if param_value.include?('${')
170
+ if param_value && param_value.include?('${')
171
171
  __str_eval_code__ = parse_parameter(param_value)
172
172
 
173
173
  # Use class_eval with string instead of define_method for performance.
@@ -77,7 +77,7 @@ DESC
77
77
  conf.elements.select { |element| element.name == 'record' }.each do |element|
78
78
  element.each_pair do |k, v|
79
79
  element.has_key?(k) # to suppress unread configuration warning
80
- @has_tag_parts = true if v.include?('tag_parts')
80
+ @has_tag_parts = true if v && v.include?('tag_parts')
81
81
  @map[k] = DynamicExpander.new(k, v, @prepare_value)
82
82
  end
83
83
  end
@@ -198,7 +198,7 @@ DESC
198
198
  attr_reader :param_value
199
199
 
200
200
  def initialize(param_key, param_value, prepare_value)
201
- if param_value.include?('${')
201
+ if param_value && param_value.include?('${')
202
202
  __str_eval_code__ = parse_parameter(param_value)
203
203
 
204
204
  # Use class_eval with string instead of define_method for performance.
@@ -226,4 +226,23 @@ CONFIG
226
226
  ], d.filtered.map { |e| e.last }
227
227
  end
228
228
  end
229
+
230
+ def test_use_nil
231
+ require "fluent/version"
232
+ if Gem::Version.new(Fluent::VERSION) < Gem::Version.new("1.8.0")
233
+ omit "use_nil is only available in Fluentd 1.8.0 and higher"
234
+ end
235
+
236
+ d = create_driver %q[
237
+ <record>
238
+ test_key "#{use_nil}"
239
+ </record>
240
+ ]
241
+
242
+ d.run(default_tag: @tag) do
243
+ d.feed("k" => "v")
244
+ end
245
+
246
+ assert_equal [{"k" => "v", "test_key" => nil}], d.filtered.map(&:last)
247
+ end
229
248
  end
@@ -1,6 +1,7 @@
1
+ require 'fluent/test'
1
2
  require 'fluent/test/driver/output'
2
3
  require 'fluent/plugin/out_record_modifier'
3
-
4
+ require 'test/unit'
4
5
 
5
6
  class RecordModifierOutputTest < Test::Unit::TestCase
6
7
  def setup
@@ -139,4 +140,24 @@ class RecordModifierOutputTest < Test::Unit::TestCase
139
140
 
140
141
  assert_equal [{"k1" => 'v', "k2" => 'v', 'foo' => 'bar'}], d.events.map { |e| e.last }
141
142
  end
143
+
144
+ def test_use_nil
145
+ require "fluent/version"
146
+ if Gem::Version.new(Fluent::VERSION) < Gem::Version.new("1.8.0")
147
+ omit "use_nil is only available in Fluentd 1.8.0 and higher"
148
+ end
149
+
150
+ d = create_driver %q[
151
+ tag foo.filtered
152
+ <record>
153
+ test_key "#{use_nil}"
154
+ </record>
155
+ ]
156
+
157
+ d.run(default_tag: "test_tags") do
158
+ d.feed("k" => "v")
159
+ end
160
+
161
+ assert_equal [{"k" => "v", "test_key" => nil}], d.events.map(&:last)
162
+ end
142
163
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-record-modifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro Nakagawa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-07 00:00:00.000000000 Z
11
+ date: 2025-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd