fluent-plugin-kv-parser 0.0.2 → 0.1.0
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 +4 -4
- data/.travis.yml +3 -9
- data/fluent-plugin-kv-parser.gemspec +5 -5
- data/test/test_kv_parser.rb +58 -51
- metadata +16 -16
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: fe95909c734f6a521e7ee45bcc325afe33649f8f
         | 
| 4 | 
            +
              data.tar.gz: a10bd9c7249327b77f91222c60d69444ba0ef0da
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 44d02fcdf9fb09e851daa6f3fa7432c6e528c80ecd3f07ae0eefe27336732340868b34ab69f54418a3a83fc16e20a77d3b3cb35755b2936f23ded15aa3269a87
         | 
| 7 | 
            +
              data.tar.gz: a7d7c9bb816335ebd0ce5d207f9bc662f38a21e676685adeb5047faba07473dc6754e1c2b0778e22a6507f9bba2a34dc0690fab7a99f36bf8145ac9fba850c60
         | 
    
        data/.travis.yml
    CHANGED
    
    | @@ -4,6 +4,9 @@ rvm: | |
| 4 4 | 
             
              - 1.9.3
         | 
| 5 5 | 
             
              - 2.0.0
         | 
| 6 6 | 
             
              - 2.1
         | 
| 7 | 
            +
              - 2.2
         | 
| 8 | 
            +
              - 2.3
         | 
| 9 | 
            +
              - 2.4
         | 
| 7 10 | 
             
              - ruby-head
         | 
| 8 11 | 
             
              - rbx-2
         | 
| 9 12 |  | 
| @@ -11,15 +14,6 @@ os: | |
| 11 14 | 
             
              - linux
         | 
| 12 15 | 
             
              - osx
         | 
| 13 16 |  | 
| 14 | 
            -
            branches:
         | 
| 15 | 
            -
              only:
         | 
| 16 | 
            -
                - master
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            gemfile:
         | 
| 19 | 
            -
              - Gemfile
         | 
| 20 | 
            -
             | 
| 21 | 
            -
            script: bundle exec rake
         | 
| 22 | 
            -
             | 
| 23 17 | 
             
            matrix:
         | 
| 24 18 | 
             
              allow_failures:
         | 
| 25 19 | 
             
                - rvm: ruby-head
         | 
| @@ -4,12 +4,12 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | |
| 4 4 |  | 
| 5 5 | 
             
            Gem::Specification.new do |spec|
         | 
| 6 6 | 
             
              spec.name          = "fluent-plugin-kv-parser"
         | 
| 7 | 
            -
              spec.version       = "0.0 | 
| 7 | 
            +
              spec.version       = "0.1.0"
         | 
| 8 8 | 
             
              spec.description   = 'Fluentd parser plugin to parse key value pairs'
         | 
| 9 9 | 
             
              spec.authors       = ["kiyoto"]
         | 
| 10 10 | 
             
              spec.email         = ["kiyoto@treasure-data.com"]
         | 
| 11 11 | 
             
              spec.summary       = %q{Fluentd parser plugin to parse key value pairs}
         | 
| 12 | 
            -
              spec.homepage      = "https://github.com/ | 
| 12 | 
            +
              spec.homepage      = "https://github.com/fluent-plugins-nursery/fluent-plugin-kv-parser"
         | 
| 13 13 | 
             
              spec.license       = "Apache-2.0"
         | 
| 14 14 |  | 
| 15 15 | 
             
              spec.files         = `git ls-files`.split($/)
         | 
| @@ -17,7 +17,7 @@ Gem::Specification.new do |spec| | |
| 17 17 | 
             
              spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
         | 
| 18 18 | 
             
              spec.require_paths = ["lib"]
         | 
| 19 19 |  | 
| 20 | 
            -
              spec.add_development_dependency " | 
| 21 | 
            -
              spec.add_development_dependency " | 
| 22 | 
            -
              spec.add_runtime_dependency "fluentd", '~> 0. | 
| 20 | 
            +
              spec.add_development_dependency "rake"
         | 
| 21 | 
            +
              spec.add_development_dependency "test-unit", "> 3.0"
         | 
| 22 | 
            +
              spec.add_runtime_dependency "fluentd", '~> 0.12.0'
         | 
| 23 23 | 
             
            end
         | 
    
        data/test/test_kv_parser.rb
    CHANGED
    
    | @@ -2,65 +2,72 @@ require 'fluent/test' | |
| 2 2 | 
             
            require 'fluent/parser'
         | 
| 3 3 | 
             
            require 'fluent/plugin/parser_kv'
         | 
| 4 4 |  | 
| 5 | 
            -
             | 
| 6 | 
            -
              include Fluent
         | 
| 5 | 
            +
            class KVParserTest < ::Test::Unit::TestCase
         | 
| 7 6 |  | 
| 8 | 
            -
               | 
| 9 | 
            -
                 | 
| 7 | 
            +
              def create_driver(conf = {})
         | 
| 8 | 
            +
                Fluent::Test::ParserTestDriver.new(Fluent::TextParser::KVParser).configure(conf)
         | 
| 9 | 
            +
              end
         | 
| 10 10 |  | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
                  parser.parse("k1=v1    k2=v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 16 | 
            -
                  parser.parse("k2=v2 k1=v1") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 17 | 
            -
                  parser.parse("k2=v2\tk1=v1") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 18 | 
            -
                  parser.parse("k2=v2\t k1=v1") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 19 | 
            -
                end
         | 
| 11 | 
            +
              def setup
         | 
| 12 | 
            +
                @timezone = ENV["TZ"]
         | 
| 13 | 
            +
                ENV["TZ"] = "UTC"
         | 
| 14 | 
            +
              end
         | 
| 20 15 |  | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 16 | 
            +
              def teardown
         | 
| 17 | 
            +
                ENV["TZ"] = @timezone
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              def test_basic
         | 
| 21 | 
            +
                d = create_driver
         | 
| 22 | 
            +
                parser = d.instance
         | 
| 23 | 
            +
                parser.parse("k1=v1 k2=v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 24 | 
            +
                parser.parse("k1=v1    k2=v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 25 | 
            +
                parser.parse("k2=v2 k1=v1") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 26 | 
            +
                parser.parse("k2=v2\tk1=v1") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 27 | 
            +
                parser.parse("k2=v2\t k1=v1") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 28 | 
            +
              end
         | 
| 26 29 |  | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
                    assert_equal("foo", v["k1"])
         | 
| 33 | 
            -
                  }
         | 
| 34 | 
            -
                end
         | 
| 30 | 
            +
              def test_with_types
         | 
| 31 | 
            +
                d = create_driver("types" => "k1:integer")
         | 
| 32 | 
            +
                parser = d.instance
         | 
| 33 | 
            +
                parser.parse("k1=100") {|_, v| assert_equal(100, v["k1"])}
         | 
| 34 | 
            +
              end
         | 
| 35 35 |  | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 36 | 
            +
              def test_with_time
         | 
| 37 | 
            +
                d = create_driver("types" => "time:time")
         | 
| 38 | 
            +
                parser = d.instance
         | 
| 39 | 
            +
                parser.parse("k1=foo time=1970-01-01T01:00:00") {|time, v|
         | 
| 40 | 
            +
                  assert_equal(3600, time)
         | 
| 41 | 
            +
                  assert_equal("foo", v["k1"])
         | 
| 42 | 
            +
                }
         | 
| 43 | 
            +
              end
         | 
| 44 44 |  | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
                   | 
| 50 | 
            -
                   | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
                end
         | 
| 45 | 
            +
              def test_with_custom_time_key
         | 
| 46 | 
            +
                d = create_driver("time_key" => "my_time", "types" => "my_time:time")
         | 
| 47 | 
            +
                parser = d.instance
         | 
| 48 | 
            +
                parser.parse("k1=foo my_time=1970-01-01T01:00:00") {|time, v|
         | 
| 49 | 
            +
                  assert_equal(3600, time)
         | 
| 50 | 
            +
                  assert_equal("foo", v["k1"])
         | 
| 51 | 
            +
                }
         | 
| 52 | 
            +
              end
         | 
| 54 53 |  | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 54 | 
            +
              def test_custom_delimiter
         | 
| 55 | 
            +
                d = create_driver("kv_delimiter" => "|")
         | 
| 56 | 
            +
                parser = d.instance
         | 
| 57 | 
            +
                parser.parse("k1=v1|k2=v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 58 | 
            +
              end
         | 
| 60 59 |  | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
                 | 
| 60 | 
            +
              def test_custom_delimiter2
         | 
| 61 | 
            +
                d = create_driver("kv_delimiter" => "/[@ ]/")
         | 
| 62 | 
            +
                parser = d.instance
         | 
| 63 | 
            +
                parser.parse("k1=v1@k2=v2 k3=v3") {|_, v|
         | 
| 64 | 
            +
                  assert_equal({"k1"=>"v1", "k2"=>"v2", "k3"=>"v3"}, v)
         | 
| 65 | 
            +
                }
         | 
| 66 | 
            +
              end
         | 
| 64 67 |  | 
| 68 | 
            +
              def test_custom_kv_char
         | 
| 69 | 
            +
                d = create_driver("kv_char" => "#")
         | 
| 70 | 
            +
                parser = d.instance
         | 
| 71 | 
            +
                parser.parse("k1#v1 k2#v2") {|_, v| assert_equal({"k1"=>"v1", "k2"=>"v2"}, v)}
         | 
| 65 72 | 
             
              end
         | 
| 66 73 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,57 +1,57 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fluent-plugin-kv-parser
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0 | 
| 4 | 
            +
              version: 0.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - kiyoto
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017-12- | 
| 11 | 
            +
            date: 2017-12-26 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            -
              name:  | 
| 14 | 
            +
              name: rake
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - - " | 
| 17 | 
            +
                - - ">="
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: ' | 
| 19 | 
            +
                    version: '0'
         | 
| 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 | 
            -
                    version: ' | 
| 26 | 
            +
                    version: '0'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            -
              name:  | 
| 28 | 
            +
              name: test-unit
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 | 
            -
                - - " | 
| 31 | 
            +
                - - ">"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: ' | 
| 33 | 
            +
                    version: '3.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 | 
            -
                    version: ' | 
| 40 | 
            +
                    version: '3.0'
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: fluentd
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 45 | 
             
                - - "~>"
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: 0. | 
| 47 | 
            +
                    version: 0.12.0
         | 
| 48 48 | 
             
              type: :runtime
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: 0. | 
| 54 | 
            +
                    version: 0.12.0
         | 
| 55 55 | 
             
            description: Fluentd parser plugin to parse key value pairs
         | 
| 56 56 | 
             
            email:
         | 
| 57 57 | 
             
            - kiyoto@treasure-data.com
         | 
| @@ -66,7 +66,7 @@ files: | |
| 66 66 | 
             
            - fluent-plugin-kv-parser.gemspec
         | 
| 67 67 | 
             
            - lib/fluent/plugin/parser_kv.rb
         | 
| 68 68 | 
             
            - test/test_kv_parser.rb
         | 
| 69 | 
            -
            homepage: https://github.com/ | 
| 69 | 
            +
            homepage: https://github.com/fluent-plugins-nursery/fluent-plugin-kv-parser
         | 
| 70 70 | 
             
            licenses:
         | 
| 71 71 | 
             
            - Apache-2.0
         | 
| 72 72 | 
             
            metadata: {}
         | 
| @@ -86,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 86 86 | 
             
                  version: '0'
         | 
| 87 87 | 
             
            requirements: []
         | 
| 88 88 | 
             
            rubyforge_project: 
         | 
| 89 | 
            -
            rubygems_version: 2.6. | 
| 89 | 
            +
            rubygems_version: 2.6.14
         | 
| 90 90 | 
             
            signing_key: 
         | 
| 91 91 | 
             
            specification_version: 4
         | 
| 92 92 | 
             
            summary: Fluentd parser plugin to parse key value pairs
         |