fluent-plugin-geoblipper 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |gem|
3
3
  gem.name = "fluent-plugin-geoblipper"
4
- gem.version = "0.0.2"
4
+ gem.version = "0.0.3"
5
5
  gem.authors = ["Sean Dick", "Change.org"]
6
6
  gem.email = ["sean@change.org"]
7
7
  gem.homepage = "https://github.com/seanmdick/fluent-plugin-geoblipper"
@@ -13,6 +13,7 @@ class Fluent::GeoBlipperOutput < Fluent::BufferedOutput
13
13
  config_param :geodata_location, :string
14
14
  config_param :max_entries, :integer, :default => -1
15
15
  config_param :ip_key, :string, :default => 'ip'
16
+ config_param :extra_capture, :array, :default = []
16
17
 
17
18
  def start
18
19
  super
@@ -23,15 +24,24 @@ class Fluent::GeoBlipperOutput < Fluent::BufferedOutput
23
24
  def format(tag, time, record)
24
25
  address = record[@ip_key]
25
26
  loc = @geodata.city(address)
26
-
27
- {latitude: loc.latitude, longitude: loc.longitude}.to_json + "\n" if loc
27
+ extra = {}
28
+ extra_capture.each do |key|
29
+ extra[key] = record[key]
30
+ end
31
+ if loc
32
+ {latitude: loc.latitude, longitude: loc.longitude}.merge(extra).to_json + "\n"
33
+ else
34
+ ""
35
+ end
28
36
  end
29
37
 
30
38
  def write(chunk)
31
39
  chunk.open do |io|
32
- items = chunk.split("\n")
40
+ items = io.read.split("\n")
33
41
  entries = items.slice(0..@max_entries).map {|item| JSON.parse(item) }
34
- @pubnub.publish(message: entries, channel: @pubnub_channel)
42
+ unless entries.empty?
43
+ @pubnub.publish(http_sync: true, message: entries, channel: @pubnub_channel)
44
+ end
35
45
  end
36
46
  end
37
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-geoblipper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-05-11 00:00:00.000000000 Z
13
+ date: 2015-05-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: fluentd