fluent-plugin-kvp-parser 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: 9531b6a37e094df25de873640acb15603b415c05
4
- data.tar.gz: 471f40d671b789a23cf9bb9df4f11b60f1b1d34a
3
+ metadata.gz: 843d6092683665ce9588bc3c1da61e0bca6001dc
4
+ data.tar.gz: 21975d2887a0e3864e76ee78b708345c6e07ddbd
5
5
  SHA512:
6
- metadata.gz: ad9100bf25117d6838686fd075efb1404dcf43c797e43affd28c23b2694ce70f73ef203b002518fd3e617bea0a9d0b91e2acbdd0e2f9c202d7c72855e9dbb531
7
- data.tar.gz: ae34c3052942a13cb8d3415225d4dad76b4d4ddad712d5c747b3734788af2e891eec19500d82a0b614ca81eac3b4ab90ff4f72dca45786d00567fb1c07e49e0b
6
+ metadata.gz: 1759ac967e1fad058a5667935521088c2c0d8dcf74f24d71125ab04105f902bb5a134eb87e84960f1e1c4bae8031c100947d3843edd8627746efdb80883938f4
7
+ data.tar.gz: 9c152c5351402d73280d7f05dff0c6fb29d4ed3001759843aecae002f93a59fb25165e208dd6469de4205a7e73d0b098ab7409649606f22dd21be491319a636e
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "fluent-plugin-kvp-parser"
7
- spec.version = "0.0.4"
7
+ spec.version = "0.0.5"
8
8
  spec.description = 'Fluentd parser plugin to parse key value pairs'
9
9
  spec.authors = ["mosuka"]
10
10
  spec.email = ["minoru.osuka@gmail.com"]
@@ -6,18 +6,19 @@ module Fluent
6
6
 
7
7
  Plugin.register_parser('kvp', self)
8
8
 
9
+ config_param :key_char, :string, :default => '\w.-'
9
10
  config_param :key_prefix, :string, :default => ''
10
- config_param :kv_delimiter, :string, :default => '\t\s'
11
- config_param :kv_char, :string, :default => '='
11
+ config_param :key_value_pair_delimiter, :string, :default => '\t\s'
12
+ config_param :key_value_delimiter, :string, :default => '='
12
13
  config_param :time_key, :string, :default => 'time'
13
14
 
14
15
  def configure(conf={})
15
16
  super
16
- if @kv_delimiter[0] == '/' and @kv_delimiter[-1] == '/'
17
- @kv_delimiter = Regexp.new(@kv_delimiter[1..-2])
17
+ if @key_value_pair_delimiter[0] == '/' and @key_value_pair_delimiter[-1] == '/'
18
+ @kv_delimiter = @key_value_pair_delimiter[1..-2]
18
19
  end
19
20
 
20
- @kv_regex_str = '(?:(?:([\w]+)\s*[' + @kv_char + ']\s*("(?:(?:\\\.|[^"])*)"|(?:[^"' + @kv_delimiter + ']*)))(?:|[' + @kv_delimiter + ']*))'
21
+ @kv_regex_str = '(?:(?:([' + @key_char + ']+)\s*[' + @key_value_delimiter + ']\s*("(?:(?:\\\.|[^"])*)"|(?:[^"' + @key_value_pair_delimiter + ']*)))(?:|[' + @key_value_pair_delimiter + ']*))'
21
22
  @kv_regex = Regexp.new(@kv_regex_str)
22
23
  end
23
24
 
@@ -15,6 +15,7 @@ module ParserTest
15
15
  def test_basic
16
16
  d = create_driver({})
17
17
  d.instance.parse("k1=v1 k2=v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
18
+ d.instance.parse("k.1=v1 k.2=v2") {|_, v| assert_equal({"k.1"=>"v1", "k.2"=>"v2"}, v)}
18
19
  d.instance.parse("k1=v1 k2=v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
19
20
  d.instance.parse("k2=v2 k1=v1") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
20
21
  d.instance.parse("k2=v2\tk1=v1") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
@@ -47,18 +48,18 @@ module ParserTest
47
48
  end
48
49
 
49
50
  def test_custom_delimiter
50
- d = create_driver({"kv_delimiter" => "|"})
51
+ d = create_driver({"key_value_pair_delimiter" => "|"})
51
52
  d.instance.parse("k1=v1|k2=v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
52
53
  d.instance.parse("k1=v1||k2=v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
53
54
 
54
- d = create_driver({"kv_delimiter" => "@ "})
55
+ d = create_driver({"key_value_pair_delimiter" => "@ "})
55
56
  d.instance.parse("k1=v1@k2=v2 k3=v3") {|_, v|
56
57
  assert_equal({"k1"=>"v1", "k2"=>"v2", "k3"=>"v3"}, v)
57
58
  }
58
59
  end
59
60
 
60
61
  def test_custom_kv_char
61
- d = create_driver({"kv_char" => "#"})
62
+ d = create_driver({"key_value_delimiter" => "#"})
62
63
  d.instance.parse("k1#v1 k2#v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
63
64
  end
64
65
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kvp-parser
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
  - mosuka