fluent-plugin-avro 0.0.2 → 1.0.0

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: 8ba36dddb8462493270ebc6b5168e52ae47ccddb
4
- data.tar.gz: 93a4a16e79b74b3259656df8c728c5335f09c40f
3
+ metadata.gz: d4fab5e7e69c6cce1bce0266dfbf9699d0af6185
4
+ data.tar.gz: afca739410951904efaa270017474838413c3efb
5
5
  SHA512:
6
- metadata.gz: 2ca3f2caa9ae8409bc0a3115e081f6ac74493cff06492bd8031983c76c233e3b11334aff82f371549ce3beedf640592a1b7b2df535f5726b7dd3e5bc853ae974
7
- data.tar.gz: de6c798bb18e897efd8c2bb77e21651ce1b47c0250cacb841530213ae8928da9deffaa90ceff31fa6adaf902604feec3ec2131251af963a5553db7c9cb6f0b3d
6
+ metadata.gz: 4e322d7c56b3b689ee4d6ea9ecbda32e4eb5969a839ac71510e2da27818f0eb7302fdca52de992cda7857fa9f0f2d8bfbe14368f6e61f3de4f5513048443b3e5
7
+ data.tar.gz: b2bcb51d60ac51dc1948a72fdb8f62ece2a2e448217880b055e442d0af4401dc15c375558b8c165badc1ec98c7d265c1f8c8c1de1cd805ec8beaeb499a013edc
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.2
4
+ - 2.1.6
data/README.md CHANGED
@@ -1,9 +1,13 @@
1
1
  # fluent-plugin-avro
2
2
 
3
+ [![Build Status](https://travis-ci.org/takebayashi/fluent-plugin-avro.svg)](https://travis-ci.org/takebayashi/fluent-plugin-avro)
4
+
3
5
  fluent-plugin-avro provides a formatter plugin for Fluentd.
4
6
 
5
7
  ## Configurations
6
8
 
9
+ Either `schema_file` or `schema_json` is required.
10
+
7
11
  | Name | Description |
8
12
  | ---- | ----------- |
9
13
  | `schema_file` | filename of Avro schema |
@@ -13,11 +17,12 @@ fluent-plugin-avro provides a formatter plugin for Fluentd.
13
17
 
14
18
  ```
15
19
  <match example.avro>
16
- type file
20
+ @type file
17
21
  path /path/to/output
18
- format avro
19
-
20
- schema_file /path/to/schema.avsc
22
+ <formatter>
23
+ @type avro
24
+ schema_file /path/to/schema.avsc
25
+ </formatter>
21
26
 
22
27
  ## You can use schema_json instead of schema_file
23
28
  # schema_json {"type":"record","name":"example","namespace":"org.example","fields":[{"name":"message","type":"string"}]}
data/Rakefile CHANGED
@@ -1 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ require 'rake/testtask'
4
+ desc 'Run test_unit based test'
5
+ Rake::TestTask.new(:test) do |t|
6
+ t.libs << "test"
7
+ t.test_files = Dir["test/**/test_*.rb"].sort
8
+ t.verbose = true
9
+ end
10
+ task :default => :test
@@ -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-avro"
7
- spec.version = "0.0.2"
7
+ spec.version = "1.0.0"
8
8
  spec.authors = ["Shun Takebayashi"]
9
9
  spec.email = ["shun@takebayashi.asia"]
10
10
 
@@ -20,5 +20,6 @@ Gem::Specification.new do |spec|
20
20
  spec.add_dependency "avro"
21
21
  spec.add_development_dependency "bundler", "~> 1.10"
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
- spec.add_runtime_dependency "fluentd", "~> 0.12.0"
23
+ spec.add_development_dependency "test-unit", "~> 3.1"
24
+ spec.add_runtime_dependency "fluentd", [">= 0.14.0", "< 2"]
24
25
  end
@@ -1,7 +1,8 @@
1
1
  require 'avro'
2
+ require 'fluent/plugin/formatter'
2
3
 
3
4
  module Fluent
4
- module TextFormatter
5
+ module Plugin
5
6
  class AvroFormatter < Formatter
6
7
  Fluent::Plugin.register_formatter('avro', self)
7
8
 
@@ -17,13 +18,13 @@ module Fluent
17
18
  @schema_json = File.read(@schema_file)
18
19
  end
19
20
  @schema = Avro::Schema.parse(@schema_json)
21
+ @writer = Avro::IO::DatumWriter.new(@schema)
20
22
  end
21
23
 
22
24
  def format(tag, time, record)
23
- writer = Avro::IO::DatumWriter.new(@schema)
24
25
  buffer = StringIO.new
25
26
  encoder = Avro::IO::BinaryEncoder.new(buffer)
26
- writer.write(record, encoder)
27
+ @writer.write(record, encoder)
27
28
  buffer.string
28
29
  end
29
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-avro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shun Takebayashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-13 00:00:00.000000000 Z
11
+ date: 2018-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avro
@@ -53,19 +53,39 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: fluentd
56
+ name: test-unit
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.12.0
62
- type: :runtime
61
+ version: '3.1'
62
+ type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.12.0
68
+ version: '3.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: fluentd
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.14.0
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: '2'
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 0.14.0
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: '2'
69
89
  description: Avro formatter plugin for Fluentd
70
90
  email:
71
91
  - shun@takebayashi.asia
@@ -74,6 +94,7 @@ extensions: []
74
94
  extra_rdoc_files: []
75
95
  files:
76
96
  - ".gitignore"
97
+ - ".travis.yml"
77
98
  - Gemfile
78
99
  - LICENSE.txt
79
100
  - README.md
@@ -100,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
121
  version: '0'
101
122
  requirements: []
102
123
  rubyforge_project:
103
- rubygems_version: 2.4.5
124
+ rubygems_version: 2.5.1
104
125
  signing_key:
105
126
  specification_version: 4
106
127
  summary: Avro formatter plugin for Fluentd