fluent-plugin-add 0.0.4 → 0.0.5

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: 7bf64a5f84f157f3c6a8df0255db7bcb35c6a0c3
4
- data.tar.gz: 57146af805319e37dbbe649cca5d3eecb6eb064c
3
+ metadata.gz: 49afbd4154aa23838bdccfb5e610d1099d066048
4
+ data.tar.gz: 08b553378ac23e984a875cd3cfcfd70afa5c70a7
5
5
  SHA512:
6
- metadata.gz: 0cdf4a85caea8d2102544180de4a55a137227a8c351f16181fa99765d1d759e2a84f8b0bdb4fed1d3373870f2c472b5cef457a521af0d41bb73a4e4b8abd67cd
7
- data.tar.gz: 2b0956a4286ae55b22f7e9e712c949b191e40f73d84d5ec599596574eb7bfb52e6224073e3cd7f9abb09e56ba190f271c22c5424e83d4d8a94d0781a46868d2a
6
+ metadata.gz: 15db222b1240c519cb627980e7a500a876ae1a014623061cae04c6106d2a5bacac30d638b249bb3878cd70ee981a8cc3b7085e648cf638b74f23b2525d5fbbdd
7
+ data.tar.gz: bc449cb6eeaec314ba97e7ca76ec029520386949ed560b104beb4673da0cbc8ed938dd625554a832c4cbb0ef38579ac74b0eea5c4c2a04877dd67c010e73a746
data/.travis.yml CHANGED
@@ -1,5 +1,7 @@
1
+ sudo: false
1
2
  language: ruby
2
3
  rvm:
4
+ - 2.3.0
3
5
  - 2.2
4
6
  - 2.1
5
7
  - 2.0.0
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # fluent-plugin-add, a plugin for [Fluentd](http://fluentd.org)
2
2
  [![Build Status](https://travis-ci.org/yu-yamada/fluent-plugin-add.svg?branch=master)](https://travis-ci.org/yu-yamada/fluent-plugin-add)
3
3
 
4
+ [![Gem Version](https://badge.fury.io/rb/fluent-plugin-add.svg)](https://badge.fury.io/rb/fluent-plugin-add)
5
+
4
6
  ## Installation
5
7
 
6
8
 
@@ -13,6 +15,7 @@
13
15
  <match test.**>
14
16
  type add
15
17
  add_tag_prefix debug
18
+ uuid true # optional
16
19
  <pair>
17
20
  hoge moge
18
21
  hogehoge mogemoge
@@ -22,13 +25,14 @@
22
25
 
23
26
  ### Assuming following inputs are coming:
24
27
  test.aa: {"json":"dayo"}
25
- ### then output bocomes as belows
26
- debug.test.aa: {"json":"dayo", "hoge":"moge","hogehoge":"mogemoge"}
28
+ ### then output becomes as belows
29
+ debug.test.aa: {"json":"dayo", "hoge":"moge","hogehoge":"mogemoge","uuid":"427037E7-235B-4F6C-9975-15AAC75E56C5"}
27
30
 
28
31
  ### AddFilter
29
32
 
30
33
  <filter test.**>
31
34
  type add
35
+ uuid true # optional
32
36
  <pair>
33
37
  hoge moge
34
38
  hogehoge mogemoge
@@ -39,7 +43,7 @@
39
43
  ### Assuming following inputs are coming:
40
44
  test.aa: {"json":"dayo"}
41
45
  ### then output bocomes as belows
42
- debug.test.aa: {"json":"dayo", "hoge":"moge","hogehoge":"mogemoge"}
46
+ debug.test.aa: {"json":"dayo", "hoge":"moge","hogehoge":"mogemoge","uuid":"427037E7-235B-4F6C-9975-15AAC75E56C5"}
43
47
 
44
48
  ## Contributing
45
49
 
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "fluent-plugin-add"
8
- spec.version = "0.0.4"
8
+ spec.version = "0.0.5"
9
9
  spec.authors = ["yu yamada"]
10
10
  spec.email = ["yu.yamada07@gmail.com"]
11
11
  spec.description = %q{Output filter plugin to add messages}
@@ -1,6 +1,9 @@
1
+ require 'securerandom'
2
+
1
3
  class Fluent::AddFilter < Fluent::Filter
2
4
  Fluent::Plugin.register_filter('add', self)
3
5
 
6
+ config_param :uuid, :bool, :default => false
4
7
  def initialize
5
8
  super
6
9
  end
@@ -23,6 +26,9 @@ class Fluent::AddFilter < Fluent::Filter
23
26
  @add_hash.each do |k,v|
24
27
  record[k] = v
25
28
  end
29
+ if @uuid
30
+ record['uuid'] = SecureRandom.uuid.upcase
31
+ end
26
32
  record
27
33
  end
28
34
  end if defined?(Fluent::Filter)
@@ -1,3 +1,5 @@
1
+ require 'securerandom'
2
+
1
3
  class Fluent::AddOutput < Fluent::Output
2
4
  Fluent::Plugin.register_output('add', self)
3
5
 
@@ -7,6 +9,7 @@ class Fluent::AddOutput < Fluent::Output
7
9
  end
8
10
 
9
11
  config_param :add_tag_prefix, :string, :default => 'greped'
12
+ config_param :uuid, :bool, :default => false
10
13
 
11
14
  def initialize
12
15
  super
@@ -40,6 +43,9 @@ class Fluent::AddOutput < Fluent::Output
40
43
  @add_hash.each do |k,v|
41
44
  record[k] = v
42
45
  end
46
+ if @uuid
47
+ record['uuid'] = SecureRandom.uuid.upcase
48
+ end
43
49
  router.emit(emit_tag, time, record)
44
50
  end
45
51
 
@@ -13,13 +13,21 @@ class AddFilterTest < Test::Unit::TestCase
13
13
  hogehoge mogemoge
14
14
  </pair>
15
15
  ]
16
+ CONFIG_UU = %[
17
+ uuid true
18
+ <pair>
19
+ hoge moge
20
+ hogehoge mogemoge
21
+ </pair>
22
+ ]
16
23
 
17
24
  def create_driver(conf = CONFIG, tag='test')
18
25
  Fluent::Test::FilterTestDriver.new(Fluent::AddFilter, tag).configure(conf)
19
26
  end
20
27
 
21
28
  def test_configure
22
- d = create_driver
29
+ d = create_driver(CONFIG_UU)
30
+ assert d.instance.config["uuid"]
23
31
  end
24
32
 
25
33
  def test_format
@@ -33,4 +41,14 @@ class AddFilterTest < Test::Unit::TestCase
33
41
  expect = {"a" => 1}.merge(mapped)
34
42
  assert_equal expect, d.filtered_as_array[0][2]
35
43
  end
44
+ def test_uu
45
+ d = create_driver(CONFIG_UU)
46
+
47
+ d.run do
48
+ d.emit("a" => 1)
49
+ end
50
+ assert d.filtered_as_array[0][2].has_key?('uuid')
51
+
52
+ d.run
53
+ end
36
54
  end
@@ -12,6 +12,13 @@ class AddOutputTest < Test::Unit::TestCase
12
12
  hogehoge mogemoge
13
13
  </pair>
14
14
  ]
15
+ CONFIG_UU = %[
16
+ uuid true
17
+ <pair>
18
+ hoge moge
19
+ hogehoge mogemoge
20
+ </pair>
21
+ ]
15
22
 
16
23
  def create_driver(conf = CONFIG, tag='test')
17
24
  Fluent::Test::OutputTestDriver.new(Fluent::AddOutput, tag).configure(conf)
@@ -20,12 +27,14 @@ class AddOutputTest < Test::Unit::TestCase
20
27
  def test_configure
21
28
  d = create_driver
22
29
  assert_equal 'pre_hoge', d.instance.config["add_tag_prefix"]
30
+
31
+ d = create_driver(CONFIG_UU)
32
+ assert d.instance.config["uuid"]
23
33
  end
24
34
 
25
35
  def test_format
26
36
  d = create_driver
27
37
 
28
- time = Time.parse("2011-01-02 13:14:15 UTC").to_i
29
38
  d.run do
30
39
  d.emit("a" => 1)
31
40
  end
@@ -34,6 +43,16 @@ class AddOutputTest < Test::Unit::TestCase
34
43
  {"a" => 1}.merge(mapped),
35
44
  ], d.records
36
45
 
46
+ d.run
47
+ end
48
+ def test_uu
49
+ d = create_driver(CONFIG_UU)
50
+
51
+ d.run do
52
+ d.emit("a" => 1)
53
+ end
54
+ assert d.records[0].has_key?('uuid')
55
+
37
56
  d.run
38
57
  end
39
58
  end
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-add
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - yu yamada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-30 00:00:00.000000000 Z
11
+ date: 2016-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: test-unit
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 3.1.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 3.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: fluentd
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  description: Output filter plugin to add messages
@@ -73,8 +73,8 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - ".gitignore"
77
- - ".travis.yml"
76
+ - .gitignore
77
+ - .travis.yml
78
78
  - Gemfile
79
79
  - LICENSE.txt
80
80
  - README.md
@@ -95,17 +95,17 @@ require_paths:
95
95
  - lib
96
96
  required_ruby_version: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - ">="
98
+ - - '>='
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - ">="
103
+ - - '>='
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  requirements: []
107
107
  rubyforge_project:
108
- rubygems_version: 2.2.2
108
+ rubygems_version: 2.0.14.1
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: Output filter plugin to add messages