fluent-plugin-couch 0.4.0 → 0.5.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.
data/README.rdoc CHANGED
@@ -25,9 +25,15 @@ Store fluent-event as CouchDB Document to CouchDB database.
25
25
  database fluent
26
26
 
27
27
  # following attibutes are optional
28
- host fluenter #default:localhost
29
- port 10000 #default:5984
30
- protocol https #default:http
28
+
29
+ host fluenter #default:localhost
30
+ port 10000 #default:5984
31
+ protocol https #default:http
32
+
33
+ update_docs true #default:false
34
+ doc_key_field doc_id #default:nil
35
+
36
+ refresh_view_index viewname #default:nil
31
37
 
32
38
  # for Basic Authentication (optional)
33
39
  user odagiri
@@ -39,7 +45,7 @@ Store fluent-event as CouchDB Document to CouchDB database.
39
45
  == TODO
40
46
  === More configuration
41
47
  === Feature
42
- * update document ( can be used to handle events such as updating the status of the server.)
48
+ *
43
49
 
44
50
  == Tool
45
51
 
data/Rakefile CHANGED
@@ -14,6 +14,7 @@ begin
14
14
  gemspec.require_paths = ["lib"]
15
15
  gemspec.add_dependency "fluentd", "~> 0.10.0"
16
16
  gemspec.add_dependency "couchrest", "~> 1.1.2"
17
+ gemspec.add_dependency "jsonpath", "~> 0.4.2"
17
18
  gemspec.test_files = Dir["test/**/*.rb"]
18
19
  gemspec.files = Dir["lib/**/*", "test/**/*.rb"] + %w[VERSION AUTHORS Rakefile]
19
20
  gemspec.executables = []
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
@@ -21,11 +21,13 @@ module Fluent
21
21
 
22
22
  config_param :update_docs, :bool, :default => false
23
23
  config_param :doc_key_field, :string, :default => nil
24
+ config_param :doc_key_jsonpath, :string, :default => nil
24
25
 
25
26
  def initialize
26
27
  super
27
28
 
28
29
  require 'msgpack'
30
+ require 'jsonpath'
29
31
  Encoding.default_internal = 'UTF-8'
30
32
  require 'couchrest'
31
33
  Encoding.default_internal = 'ASCII-8BIT'
@@ -62,7 +64,10 @@ module Fluent
62
64
  def write(chunk)
63
65
  records = []
64
66
  chunk.msgpack_each {|record|
65
- record['_id'] = record[@doc_key_field] unless @doc_key_field.nil?
67
+
68
+ id = record[@doc_key_field]
69
+ id = JsonPath.new(@doc_key_jsonpath).first(record) if id.nil? && !@doc_key_jsonpath.nil?
70
+ record['_id'] = id unless id.nil?
66
71
  records << record
67
72
  }
68
73
  unless @update_docs
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-couch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-13 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
16
- requirement: &70267577807740 !ruby/object:Gem::Requirement
16
+ requirement: &70165018951360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.10.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70267577807740
24
+ version_requirements: *70165018951360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: couchrest
27
- requirement: &70267577806360 !ruby/object:Gem::Requirement
27
+ requirement: &70165018950440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,7 +32,18 @@ dependencies:
32
32
  version: 1.1.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70267577806360
35
+ version_requirements: *70165018950440
36
+ - !ruby/object:Gem::Dependency
37
+ name: jsonpath
38
+ requirement: &70165018949440 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 0.4.2
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70165018949440
36
47
  description:
37
48
  email: ixixizko@gmail.com
38
49
  executables: []