fluent-plugin-array-splitter 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b744e9de9c27aef607ee4954f10942b1a1de51ed36767ead52026abe028b171
4
- data.tar.gz: b456cd234a8940164f8d4efd4372724224fb504cd55ab5b81a4435445a2d5655
3
+ metadata.gz: 0d04da9205757d519b782b4f8603c6cd5999a0ca1ed15d50044ab9600259d200
4
+ data.tar.gz: c97d3587db8921bf2b25ca8b930b6e0e96dcc6e47f41ad2169a48775073217cc
5
5
  SHA512:
6
- metadata.gz: d666f6b204fd61c70a2e033edce5fde4a174d8e36e549eda9330b97bf5cc47eb9ad994e088185e56cda0884728546090095b532896ee28f6985c6675c609ee9b
7
- data.tar.gz: b39b59481bf68ffe1b1831904d1a356fc5a4567818419e30881f882bd81a3ceed9755d101c81634136c6fef2c53a5d029da4c23f7c8c87505d1cf76f0c25e4ea
6
+ metadata.gz: 720519d90f4c95983ec89fc616626cce0712be211673724d3f8db15e2bd0a4e562dd196344a13127f4c177c923ee5018c0ad98b19be27ee71f189868a43216c1
7
+ data.tar.gz: 40d369cb984e7b01125328e98df4c01b0c5a7f6725fae82d55a26e7cd8ab37001474a14913f4cd27c34260cf71ab4a115df69ddc9c8a9298da4339e7dc8b41cf
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-array-splitter"
6
- spec.version = "0.1.0"
6
+ spec.version = "0.1.1"
7
7
  spec.authors = ["pcoffmanjr"]
8
8
  spec.email = ["pcoffman@ctc-america.com"]
9
9
 
@@ -18,17 +18,15 @@ module Fluent
18
18
  if record['message'].is_a?(Array)
19
19
  record['message'].each do |value|
20
20
  new_record = record.dup
21
- new_record['message'] = value
22
- new_es.add(time, new_record)
23
- end
24
- elsif record['target_field'].is_a?(Array)
25
- record['target_field'].each do |hash|
26
- hash.each do |k, v|
27
- new_record = record.dup
28
- new_record.delete('target_field')
29
- new_record[k] = v
30
- new_es.add(time, new_record)
21
+ new_record.delete('message')
22
+ if value.is_a?(Hash)
23
+ value.each do |k, v|
24
+ new_record[k] = v
25
+ end
26
+ else
27
+ new_record['message'] = value
31
28
  end
29
+ new_es.add(time, new_record)
32
30
  end
33
31
  else
34
32
  new_es.add(time, record)
@@ -28,8 +28,27 @@ class ArraySplitterFilterTest < Test::Unit::TestCase
28
28
  assert_equal("v2", filtered_records[1]["message"])
29
29
  assert_equal("v3", filtered_records[2]["message"])
30
30
  end
31
-
32
- # More tests for other cases...
31
+
32
+ test "expand array with hashes in message field" do
33
+ record = {
34
+ "key1" => "foo",
35
+ "key2" => "bar",
36
+ "message" => [{"k1" => "hoge"}, {"k2" => "foobar"}]
37
+ }
38
+ @driver.run(default_tag: "test") do
39
+ @driver.feed(record)
40
+ end
41
+ filtered_records = @driver.filtered_records
42
+ assert_equal(2, filtered_records.size)
43
+ assert_equal("foo", filtered_records[0]["key1"])
44
+ assert_equal("bar", filtered_records[0]["key2"])
45
+ assert_equal("hoge", filtered_records[0]["k1"])
46
+ assert_nil(filtered_records[0]["message"])
47
+ assert_equal("foo", filtered_records[1]["key1"])
48
+ assert_equal("bar", filtered_records[1]["key2"])
49
+ assert_equal("foobar", filtered_records[1]["k2"])
50
+ assert_nil(filtered_records[1]["message"])
51
+ end
33
52
  end
34
53
  end
35
54
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-array-splitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - pcoffmanjr