fluent-plugin-fork 0.1.2 → 0.1.3

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: f4297cdffd78d8e54ac221cf4deb19d553149e7e
4
- data.tar.gz: 1ecf306daf8cfa06a9227f6d871906aa68cb62c1
3
+ metadata.gz: 93aa3628cb513f923eb3a13112fd18f060ed2e23
4
+ data.tar.gz: 2071b54e0283ab3e26b0100640352882cdf883a3
5
5
  SHA512:
6
- metadata.gz: 7aeeffc58d9012e56b5109efc558cf7d48d57bb3121b3b340c5b1e1a875101fa7fb1217abed805cb08d9d06753a54fb6377ea3131ed307f6564e9729a34d9cf2
7
- data.tar.gz: 1eb983551fdc706aa5bdc2aed2c262fe14d0df04ad44cc3b760e52e47a5b7f98ff061872d7a83456193d9b2aa5f4edf77b7b5a14ec78915a893978dc5779ddbe
6
+ metadata.gz: 5062d1d5d24442afe7af68ea311abb1d02b292b74db43b14ab01b347d7b1d5c60a8eebe73f5862488040272b73b5167ef292f394d48501963f2ff3a08202cc68
7
+ data.tar.gz: 4c1326bba436714a4f93c42dd937d316827fdd0ecaec1e3feba38af6a294e088589a82a7f5def77dd58fc9001c182755997aa07c8441e58de0b687b9cdf2211c
data/README.md CHANGED
@@ -50,6 +50,7 @@ fork_key key_to_fork
50
50
  max_size 15
51
51
  max_fallback log
52
52
  no_unique true
53
+ index_key idx
53
54
  ```
54
55
 
55
56
  ### output_tag
@@ -94,6 +95,12 @@ Flag to emit redundant values.
94
95
 
95
96
  Default: `false`
96
97
 
98
+ ### index_key (Optional)
99
+
100
+ Field name to add index number of each values.
101
+
102
+ Default: `nil`
103
+
97
104
  ## Contributing
98
105
 
99
106
  1. Fork it
@@ -2,7 +2,7 @@ $:.push File.expand_path('../lib', __FILE__)
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "fluent-plugin-fork"
5
- gem.version = "0.1.2"
5
+ gem.version = "0.1.3"
6
6
  gem.authors = ["Daisuke Taniwaki"]
7
7
  gem.email = "daisuketaniwaki@gmail.com"
8
8
  gem.homepage = "https://github.com/dtaniwaki/fluent-plugin-fork"
@@ -20,6 +20,7 @@ module Fluent
20
20
  config_param :max_size, :integer, default: nil
21
21
  config_param :max_fallback, :string, default: 'log'
22
22
  config_param :no_unique, :bool, default: false
23
+ config_param :index_key, :string, default: nil
23
24
 
24
25
  def configure(conf)
25
26
  super
@@ -62,9 +63,11 @@ module Fluent
62
63
  end
63
64
  end
64
65
 
65
- values.reject{ |value| value.to_s == '' }.each do |value|
66
+ values.reject{ |value| value.to_s == '' }.each_with_index do |value, i|
66
67
  log.trace "#{tag} - #{time}: reemit #{@output_key}=#{value} for #{@output_tag}"
67
- Engine.emit(@output_tag, time, record.reject{ |k, v| k == @fork_key }.merge(@output_key => value))
68
+ new_record = record.reject{ |k, v| k == @fork_key }.merge(@output_key => value)
69
+ new_record.merge!(@index_key => i) unless @index_key.nil?
70
+ Engine.emit(@output_tag, time, new_record)
68
71
  end
69
72
  end
70
73
  rescue => e
@@ -30,6 +30,7 @@ describe Fluent::ForkOutput do
30
30
  expect(subject.instance.no_unique).to eq(false)
31
31
  expect(subject.instance.max_size).to eq(nil)
32
32
  expect(subject.instance.max_fallback).to eq('log')
33
+ expect(subject.instance.index_key).to eq(nil)
33
34
  end
34
35
  end
35
36
  context "with invalid fallback" do
@@ -130,5 +131,15 @@ describe Fluent::ForkOutput do
130
131
  end
131
132
  end
132
133
  end
134
+ context "with index_key option" do
135
+ let(:params) { required_params.merge(index_key: 'idx') }
136
+ it "add index number" do
137
+ subject.run { subject.emit({"sk" => "2,3,4,5"}, time) }
138
+ expect(subject.emits).to include(["ot", time, {"ok" => "2", "idx" => 0}])
139
+ expect(subject.emits).to include(["ot", time, {"ok" => "3", "idx" => 1}])
140
+ expect(subject.emits).to include(["ot", time, {"ok" => "4", "idx" => 2}])
141
+ expect(subject.emits).to include(["ot", time, {"ok" => "5", "idx" => 3}])
142
+ end
143
+ end
133
144
  end
134
145
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-fork
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daisuke Taniwaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-23 00:00:00.000000000 Z
11
+ date: 2015-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd