fluent-plugin-typecast 0.1.2 → 0.2.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 510c018e16eb7479a7efd5cb7bf2ee3ea3292f0c
4
+ data.tar.gz: 6bd41fdf862ebb65cce6ba807ead30c5e7d12444
5
+ SHA512:
6
+ metadata.gz: 918a097b0f96e4d469d10fbe186e4e68ffbf114471de9b8a9d02ab733c5d8b0f501c6c79abe0626ab4dea7e7bb58a3651d0f2ccdb832d7869aa3192472703e07
7
+ data.tar.gz: 035af1bd96288f1447b0e8c2113ed3d4876b984499a85d8df767375601f2475ccee704561f737f6369068e89697e7d8027c9fe08b0eda7ece79bf86594ae2b9c
data/.travis.yml ADDED
@@ -0,0 +1,14 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - "1.9.3"
5
+ - "2.0.0"
6
+ - "2.1"
7
+ - "2.2"
8
+ gemfile:
9
+ - gemfiles/Gemfile.ci
10
+ - gemfiles/Gemfile.v0.10
11
+ script: bundle exec rake -f Rakefile.ci
12
+ addons:
13
+ code_climate:
14
+ repo_token: 1441f8d69173e16966b6cb700c64df009ae41f7eb0ea4dc07434d6f3582ae965
data/Gemfile CHANGED
@@ -1,10 +1,3 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "fluentd", "~> 0.10.0"
4
-
5
- # Add dependencies to develop your gem here.
6
- # Include everything needed to run rake, tests, features, etc.
7
- group :development do
8
- gem "rdoc", "~> 3.12"
9
- gem "jeweler", "~> 1.8.4"
10
- end
3
+ gemspec
data/README.rdoc CHANGED
@@ -1,5 +1,8 @@
1
1
  = fluent-plugin-typecast
2
2
 
3
+ {<img src="https://travis-ci.org/tarom/fluent-plugin-typecast.png?branch=master" alt="Build Status" />}[https://travis-ci.org/tarom/fluent-plugin-typecast]
4
+ {<img src="https://badge.fury.io/rb/fluent-plugin-typecast.png" alt="Gem Version" />}[http://badge.fury.io/rb/fluent-plugin-typecast]
5
+
3
6
  typecast output plugin for fluentd.
4
7
 
5
8
  == Configuration
@@ -12,6 +15,7 @@ typecast output plugin for fluentd.
12
15
  - time
13
16
  - bool
14
17
  - array
18
+ - json
15
19
 
16
20
  [time_format] format for typecast to time
17
21
 
data/Rakefile.ci ADDED
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'rake/testtask'
15
+ Rake::TestTask.new(:test) do |test|
16
+ test.libs << 'lib' << 'test'
17
+ test.pattern = 'test/**/test_*.rb'
18
+ test.verbose = true
19
+ end
20
+
21
+ task :default => :test
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.2.0
@@ -2,14 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: fluent-plugin-typecast 0.2.0 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "fluent-plugin-typecast"
8
- s.version = "0.1.2"
9
+ s.version = "0.2.0"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["MORIYA Taro"]
12
- s.date = "2013-12-01"
14
+ s.date = "2015-05-15"
13
15
  s.description = "typecast output plugin for fluentd"
14
16
  s.email = "taro.toys@gmail.com"
15
17
  s.extra_rdoc_files = [
@@ -18,39 +20,44 @@ Gem::Specification.new do |s|
18
20
  ]
19
21
  s.files = [
20
22
  ".document",
23
+ ".travis.yml",
21
24
  "Gemfile",
22
- "Gemfile.lock",
23
25
  "LICENSE.txt",
24
26
  "README.rdoc",
25
27
  "Rakefile",
28
+ "Rakefile.ci",
26
29
  "VERSION",
27
30
  "fluent-plugin-typecast.gemspec",
31
+ "gemfiles/Gemfile.ci",
32
+ "gemfiles/Gemfile.v0.10",
28
33
  "lib/fluent/plugin/out_typecast.rb",
29
34
  "test/helper.rb",
30
35
  "test/plugin/test_out_typecast.rb"
31
36
  ]
32
37
  s.homepage = "http://github.com/tarom/fluent-plugin-typecast"
33
38
  s.licenses = ["Apache License 2.0"]
34
- s.require_paths = ["lib"]
35
- s.rubygems_version = "1.8.25"
39
+ s.rubygems_version = "2.4.6"
36
40
  s.summary = "typecast output plugin for fluentd"
37
41
 
38
42
  if s.respond_to? :specification_version then
39
- s.specification_version = 3
43
+ s.specification_version = 4
40
44
 
41
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
- s.add_runtime_dependency(%q<fluentd>, ["~> 0.10.0"])
46
+ s.add_runtime_dependency(%q<fluentd>, [">= 0"])
43
47
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
44
48
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
49
+ s.add_development_dependency(%q<test-unit>, ["~> 3.0.9"])
45
50
  else
46
- s.add_dependency(%q<fluentd>, ["~> 0.10.0"])
51
+ s.add_dependency(%q<fluentd>, [">= 0"])
47
52
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
48
53
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
54
+ s.add_dependency(%q<test-unit>, ["~> 3.0.9"])
49
55
  end
50
56
  else
51
- s.add_dependency(%q<fluentd>, ["~> 0.10.0"])
57
+ s.add_dependency(%q<fluentd>, [">= 0"])
52
58
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
53
59
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
60
+ s.add_dependency(%q<test-unit>, ["~> 3.0.9"])
54
61
  end
55
62
  end
56
63
 
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec path: '..'
4
+
5
+ group :test do
6
+ gem "rake"
7
+ gem "codeclimate-test-reporter", require: nil
8
+ end
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "fluentd", "~> 0.10.0"
4
+
5
+ group :test do
6
+ gem "rake"
7
+ gem "test-unit"
8
+ gem "codeclimate-test-reporter", require: nil
9
+ end
@@ -17,7 +17,7 @@ class TypecastOutput < Output
17
17
  config_param :tag, :string, default: nil
18
18
  config_param :prefix, :string, default: nil
19
19
 
20
- ITEM_TYPES = ['string', 'integer', 'float', 'bool', 'time', 'array']
20
+ ITEM_TYPES = ['json', 'string', 'integer', 'float', 'bool', 'time', 'array']
21
21
 
22
22
  def configure(conf)
23
23
  super
@@ -49,6 +49,8 @@ class TypecastOutput < Output
49
49
 
50
50
  def cast_proc(key)
51
51
  case key
52
+ when 'json'
53
+ Proc.new {|value| value.to_json }
52
54
  when 'string'
53
55
  Proc.new {|value| value.to_s }
54
56
  when 'integer'
data/test/helper.rb CHANGED
@@ -14,5 +14,11 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
14
14
  require 'fluent/test'
15
15
  require 'fluent/plugin/out_typecast'
16
16
 
17
+ begin
18
+ require "codeclimate-test-reporter"
19
+ CodeClimate::TestReporter.start
20
+ rescue LoadError => e
21
+ end
22
+
17
23
  class Test::Unit::TestCase
18
24
  end
@@ -18,7 +18,7 @@ class TestTypecastOutput < Test::Unit::TestCase
18
18
  tag = "test.tag"
19
19
  prefix = "prefix"
20
20
  d = create_driver(DEFAULT_CONFIG + %[
21
- item_types test1:integer,test2:string,test3:time,test4:bool
21
+ item_types test1:integer,test2:string,test3:time,test4:bool,test5:json
22
22
  time_format #{time_format}
23
23
  tag #{tag}
24
24
  prefix #{prefix}
@@ -28,6 +28,7 @@ class TestTypecastOutput < Test::Unit::TestCase
28
28
  assert_equal('string', d.item_types['test2'])
29
29
  assert_equal('time', d.item_types['test3'])
30
30
  assert_equal('bool', d.item_types['test4'])
31
+ assert_equal('json', d.item_types['test5'])
31
32
 
32
33
  assert_equal(time_format, d.time_format)
33
34
  assert_equal(tag, d.tag)
@@ -71,6 +72,20 @@ class TestTypecastOutput < Test::Unit::TestCase
71
72
  assert_equal(v, record['f'])
72
73
  end
73
74
 
75
+ def test_typecast_json
76
+ d = create_driver(DEFAULT_CONFIG + %[
77
+ tag test.tag
78
+ item_types j:json
79
+ ])
80
+ v = {"msg" => "ok"}
81
+ time = Time.parse('2015-01-19 08:35:15 UTC').to_i
82
+ d.run do
83
+ d.emit({'j' => v }, time)
84
+ end
85
+ record = d.emits[0][2]
86
+ assert_equal(v.to_json, record['j'])
87
+ end
88
+
74
89
  def test_prefix
75
90
  d = create_driver(DEFAULT_CONFIG + %[
76
91
  item_types i:integer,s:string,t:time,b:bool,a:array
metadata CHANGED
@@ -1,64 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-typecast
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - MORIYA Taro
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-01 00:00:00.000000000 Z
11
+ date: 2015-05-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: fluentd
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: 0.10.0
19
+ version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: 0.10.0
26
+ version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rdoc
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
33
  version: '3.12'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
40
  version: '3.12'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: jeweler
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
47
  version: 1.8.4
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - "~>"
60
53
  - !ruby/object:Gem::Version
61
54
  version: 1.8.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: test-unit
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.9
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.0.9
62
69
  description: typecast output plugin for fluentd
63
70
  email: taro.toys@gmail.com
64
71
  executables: []
@@ -67,43 +74,42 @@ extra_rdoc_files:
67
74
  - LICENSE.txt
68
75
  - README.rdoc
69
76
  files:
70
- - .document
77
+ - ".document"
78
+ - ".travis.yml"
71
79
  - Gemfile
72
- - Gemfile.lock
73
80
  - LICENSE.txt
74
81
  - README.rdoc
75
82
  - Rakefile
83
+ - Rakefile.ci
76
84
  - VERSION
77
85
  - fluent-plugin-typecast.gemspec
86
+ - gemfiles/Gemfile.ci
87
+ - gemfiles/Gemfile.v0.10
78
88
  - lib/fluent/plugin/out_typecast.rb
79
89
  - test/helper.rb
80
90
  - test/plugin/test_out_typecast.rb
81
91
  homepage: http://github.com/tarom/fluent-plugin-typecast
82
92
  licenses:
83
93
  - Apache License 2.0
94
+ metadata: {}
84
95
  post_install_message:
85
96
  rdoc_options: []
86
97
  require_paths:
87
98
  - lib
88
99
  required_ruby_version: !ruby/object:Gem::Requirement
89
- none: false
90
100
  requirements:
91
- - - ! '>='
101
+ - - ">="
92
102
  - !ruby/object:Gem::Version
93
103
  version: '0'
94
- segments:
95
- - 0
96
- hash: 2044205134208786053
97
104
  required_rubygems_version: !ruby/object:Gem::Requirement
98
- none: false
99
105
  requirements:
100
- - - ! '>='
106
+ - - ">="
101
107
  - !ruby/object:Gem::Version
102
108
  version: '0'
103
109
  requirements: []
104
110
  rubyforge_project:
105
- rubygems_version: 1.8.25
111
+ rubygems_version: 2.4.6
106
112
  signing_key:
107
- specification_version: 3
113
+ specification_version: 4
108
114
  summary: typecast output plugin for fluentd
109
115
  test_files: []
data/Gemfile.lock DELETED
@@ -1,65 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- addressable (2.3.5)
5
- builder (3.2.2)
6
- cool.io (1.1.0)
7
- iobuffer (>= 1.0.0)
8
- faraday (0.8.8)
9
- multipart-post (~> 1.2.0)
10
- fluentd (0.10.32)
11
- cool.io (~> 1.1.0)
12
- http_parser.rb (~> 0.5.1)
13
- json (>= 1.4.3)
14
- msgpack (~> 0.4.4)
15
- yajl-ruby (~> 1.0)
16
- git (1.2.6)
17
- github_api (0.10.1)
18
- addressable
19
- faraday (~> 0.8.1)
20
- hashie (>= 1.2)
21
- multi_json (~> 1.4)
22
- nokogiri (~> 1.5.2)
23
- oauth2
24
- hashie (2.0.5)
25
- highline (1.6.20)
26
- http_parser.rb (0.5.3)
27
- httpauth (0.2.0)
28
- iobuffer (1.1.2)
29
- jeweler (1.8.8)
30
- builder
31
- bundler (~> 1.0)
32
- git (>= 1.2.5)
33
- github_api (= 0.10.1)
34
- highline (>= 1.6.15)
35
- nokogiri (= 1.5.10)
36
- rake
37
- rdoc
38
- json (1.8.1)
39
- jwt (0.1.8)
40
- multi_json (>= 1.5)
41
- msgpack (0.4.7)
42
- multi_json (1.8.2)
43
- multi_xml (0.5.5)
44
- multipart-post (1.2.0)
45
- nokogiri (1.5.10)
46
- oauth2 (0.9.2)
47
- faraday (~> 0.8)
48
- httpauth (~> 0.2)
49
- jwt (~> 0.1.4)
50
- multi_json (~> 1.0)
51
- multi_xml (~> 0.5)
52
- rack (~> 1.2)
53
- rack (1.5.2)
54
- rake (10.1.0)
55
- rdoc (3.12.2)
56
- json (~> 1.4)
57
- yajl-ruby (1.1.0)
58
-
59
- PLATFORMS
60
- ruby
61
-
62
- DEPENDENCIES
63
- fluentd (~> 0.10.0)
64
- jeweler (~> 1.8.4)
65
- rdoc (~> 3.12)