fluent-plugin-fork 0.1.2 → 0.1.3

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
  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