fluent-plugin-record-modifier 0.6.0 → 0.6.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
  SHA1:
3
- metadata.gz: dbb0e44223c741d2f1c7bed9f61ed7e174c40428
4
- data.tar.gz: bc472ac107bef79ce85e9dd561dc8aca9370a78e
3
+ metadata.gz: 438ccea5164c0e705dff68f7482312e20b1c84a3
4
+ data.tar.gz: 9a2b5a6893a56928e71cddd0bab98eb8f015b833
5
5
  SHA512:
6
- metadata.gz: a94230f5226d68bbb72b7456bb7aa12ce2e7654fe93ca133db4bdd1a464588449ff30d16e94f23cc8b6f268cf883f90587354d768bec9eea90307fea43f96ee1
7
- data.tar.gz: a8112001bd72021279339f9cfa60dd2f8872d0eb484768ce2da65de4b7892420f9c46cf3a44055d18864cd51f9706c2b96ab8158cc4418fa97400c452634f3be
6
+ metadata.gz: 88dfb45817738a35242e9eb08ca66511d80056a4744513222654251b762fe901c86b63e7bc5780d83e8d1370f74c375d109ca4dc7c6c6d1cad27a102ae310b71
7
+ data.tar.gz: 12069d1234c29caa145f8f32943c842b029b462e747a4c2c18df28d31d28df7cc66948587f32878a80560ab56e7ff9cc03ebf288dfe55231fd8a08766a254903
data/.travis.yml CHANGED
@@ -1,25 +1,25 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.0.0
5
4
  - 2.1
6
5
  - 2.2.5
7
6
  - 2.3.1
7
+ - 2.4.2
8
8
  - ruby-head
9
- - rbx
10
9
 
11
10
  branches:
12
11
  only:
13
12
  - master
13
+ - v0.12
14
14
 
15
15
  gemfile:
16
16
  - Gemfile
17
17
 
18
+ sudo: false
19
+
18
20
  matrix:
19
21
  allow_failures:
20
22
  - rvm: ruby-head
21
- - rvm: rbx
22
- - rvm: 2.0.0
23
23
 
24
24
  before_install: gem update bundler
25
25
  script: bundle exec rake test
data/ChangeLog CHANGED
@@ -1,3 +1,9 @@
1
+ Release 0.6.1 - 2017/12/12
2
+
3
+ * Drop fluentd v0.10 support
4
+ * Add frozen object support
5
+ https://github.com/repeatedly/fluent-plugin-record-modifier/pull/26
6
+
1
7
  Release 0.6.0 - 2017/06/06
2
8
 
3
9
  * Drop fluentd v0.10 support
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
+ gem 'fluentd', '~> 0.12.0'
4
+
3
5
  gemspec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.6.1
@@ -116,7 +116,13 @@ DESC
116
116
  if value.is_a?(String)
117
117
  value.force_encoding(@from_enc)
118
118
  elsif value.is_a?(Hash)
119
- value.each_pair { |k, v| set_encoding(v) }
119
+ value.each_pair { |k, v|
120
+ if v.frozen?
121
+ value[k] = set_encoding(v.dup)
122
+ else
123
+ set_encoding(v)
124
+ end
125
+ }
120
126
  elsif value.is_a?(Array)
121
127
  value.each { |v| set_encoding(v) }
122
128
  end
@@ -127,7 +133,13 @@ DESC
127
133
  value.force_encoding(@from_enc) if value.encoding == Encoding::BINARY
128
134
  value.encode!(@to_enc, @from_enc, :invalid => :replace, :undef => :replace)
129
135
  elsif value.is_a?(Hash)
130
- value.each_pair { |k, v| convert_encoding(v) }
136
+ value.each_pair { |k, v|
137
+ if v.frozen?
138
+ value[k] = convert_encoding(v.dup)
139
+ else
140
+ convert_encoding(v)
141
+ end
142
+ }
131
143
  elsif value.is_a?(Array)
132
144
  value.each { |v| convert_encoding(v) }
133
145
  end
@@ -11,7 +11,6 @@ class RecordModifierFilterTest < Test::Unit::TestCase
11
11
  end
12
12
 
13
13
  CONFIG = %q!
14
- type record_modifier
15
14
  remove_keys hoge
16
15
 
17
16
  <record>
@@ -57,8 +56,6 @@ class RecordModifierFilterTest < Test::Unit::TestCase
57
56
 
58
57
  def test_set_char_encoding
59
58
  d = create_driver %[
60
- type record_modifier
61
-
62
59
  char_encoding utf-8
63
60
  ]
64
61
 
@@ -77,8 +74,6 @@ class RecordModifierFilterTest < Test::Unit::TestCase
77
74
 
78
75
  def test_convert_char_encoding
79
76
  d = create_driver %[
80
- type record_modifier
81
-
82
77
  char_encoding utf-8:cp932
83
78
  ]
84
79
 
@@ -97,8 +92,6 @@ class RecordModifierFilterTest < Test::Unit::TestCase
97
92
 
98
93
  def test_remove_one_key
99
94
  d = create_driver %[
100
- type record_modifier
101
-
102
95
  remove_keys k1
103
96
  ]
104
97
 
@@ -111,8 +104,6 @@ class RecordModifierFilterTest < Test::Unit::TestCase
111
104
 
112
105
  def test_remove_multiple_keys
113
106
  d = create_driver %[
114
- type record_modifier
115
-
116
107
  remove_keys k1, k2, k3
117
108
  ]
118
109
 
@@ -125,8 +116,6 @@ class RecordModifierFilterTest < Test::Unit::TestCase
125
116
 
126
117
  def test_remove_non_whitelist_keys
127
118
  d = create_driver %[
128
- type record_modifier
129
-
130
119
  whitelist_keys k1, k2, k3
131
120
  ]
132
121
 
@@ -136,4 +125,38 @@ class RecordModifierFilterTest < Test::Unit::TestCase
136
125
 
137
126
  assert_equal [{"k1" => 'v', "k2" => 'v'}], d.filtered_as_array.map(&:last)
138
127
  end
128
+
129
+ sub_test_case 'frozen check' do
130
+ def test_set_char_encoding
131
+ d = create_driver %[
132
+ char_encoding utf-8
133
+ ]
134
+
135
+ d.run do
136
+ d.emit("k" => 'v'.force_encoding('BINARY').freeze)
137
+ d.emit("k" => {"l" => 'v'.force_encoding('BINARY').freeze})
138
+ end
139
+
140
+ assert_equal [
141
+ {"k" => 'v'.force_encoding('UTF-8')},
142
+ {"k" => {"l" => 'v'.force_encoding('UTF-8')}},
143
+ ], d.filtered_as_array.map { |e| e.last }
144
+ end
145
+
146
+ def test_convert_char_encoding
147
+ d = create_driver %[
148
+ char_encoding utf-8:cp932
149
+ ]
150
+
151
+ d.run do
152
+ d.emit("k" => 'v'.force_encoding('utf-8').freeze)
153
+ d.emit("k" => {"l" => 'v'.force_encoding('utf-8').freeze})
154
+ end
155
+
156
+ assert_equal [
157
+ {"k" => 'v'.force_encoding('cp932')},
158
+ {"k" => {"l" => 'v'.force_encoding('cp932')}},
159
+ ], d.filtered_as_array.map { |e| e.last }
160
+ end
161
+ end
139
162
  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: 0.6.0
4
+ version: 0.6.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: 2017-06-06 00:00:00.000000000 Z
11
+ date: 2017-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  version: '0'
96
96
  requirements: []
97
97
  rubyforge_project:
98
- rubygems_version: 2.6.11
98
+ rubygems_version: 2.6.13
99
99
  signing_key:
100
100
  specification_version: 4
101
101
  summary: Filter plugin for modifying event record