fluent-plugin-filter-geoip 0.2.7 → 0.2.8

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: 281246f8362ef2bdfa0d4d0762793bdfbb1f9648
4
- data.tar.gz: 26a1e254ee1ef72492edd4a11719fa677abb5643
3
+ metadata.gz: 1a30045e9413e42e901dbdce8d3eebb43edf707b
4
+ data.tar.gz: 867bfffcd725b3fd8fbc6f356e05b74aab8e6a8b
5
5
  SHA512:
6
- metadata.gz: 1b66500baba501a96af1fd5c8eb4058464b723d96df3149da20535cc4677c456657b47f60daee8257d8c7ea742cc0f60a84194a6a5c55e4e65210c5b185bc74b
7
- data.tar.gz: 44274bc2cbb807e46b32ebcafe4fdcc059a0f3addd7bb64ebcff9c99193c6c96a405295811e37293938437c27c160ba93037f1722dfb6315b25ee839651fa98b
6
+ metadata.gz: 8ce752e3778a7533b8bfa4a150816ff6a3e0bcbb11fa2adfdc0238c53a8769a9c8e4e262837248f12241612bd8b3cfe12b5990ef060029d7cd7215e2c67841d2
7
+ data.tar.gz: 3bdf326c5c0e095787ac499f7e95f42a4f04c03990a58ad82a62c9188a6c03bb528b9c21909caf2a26e81348864c365823681fb1b7ebf3bd3b7f5b09b4f3f6b0
data/.gitignore CHANGED
@@ -35,4 +35,4 @@ build/
35
35
  .rvmrc
36
36
 
37
37
  Gemfile.lock
38
-
38
+ geoip
data/README.md CHANGED
@@ -275,7 +275,6 @@ then output bocomes as belows:
275
275
  "geoip.traits.is_anonymous_proxy":null,
276
276
  "geoip.traits.is_satellite_provider":null,
277
277
  "geoip.connection_type":null,
278
- "geoip_localtion_latlon":""
279
278
  }
280
279
  ```
281
280
 
@@ -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-filter-geoip"
7
- spec.version = "0.2.7"
7
+ spec.version = "0.2.8"
8
8
  spec.authors = ["Minoru Osuka"]
9
9
  spec.email = ["minoru.osuka@gmail.com"]
10
10
 
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_runtime_dependency 'maxminddb', '~> 0.1.8'
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.11.2'
26
- spec.add_development_dependency 'rake', '~> 10.4.2'
26
+ spec.add_development_dependency 'rake', '~> 10.5.0'
27
27
  spec.add_development_dependency 'test-unit', '~> 3.1.5'
28
28
  spec.add_development_dependency 'minitest', '~> 5.8.3'
29
29
  end
@@ -115,102 +115,166 @@ module Fluent
115
115
  if @continent then
116
116
  continent_hash = {}
117
117
 
118
- continent_hash['code'] = geoip.continent.code
119
- continent_hash['geoname_id'] = geoip.continent.geoname_id
120
- continent_hash['iso_code'] = geoip.continent.iso_code
121
- continent_hash['name'] = geoip.continent.name(@locale)
118
+ unless geoip.continent.code.nil? then
119
+ continent_hash['code'] = geoip.continent.code
120
+ end
121
+ unless geoip.continent.geoname_id.nil? then
122
+ continent_hash['geoname_id'] = geoip.continent.geoname_id
123
+ end
124
+ unless geoip.continent.iso_code.nil? then
125
+ continent_hash['iso_code'] = geoip.continent.iso_code
126
+ end
127
+ unless geoip.continent.name(@locale).nil? then
128
+ continent_hash['name'] = geoip.continent.name(@locale)
129
+ end
122
130
 
123
- if @flatten then
124
- record.merge!(to_flatten(continent_hash, [@output_field, 'continent'], @field_delimiter))
125
- else
126
- record[[@output_field, 'continent'].join(@field_delimiter)] = continent_hash.to_json
131
+ unless continent_hash.empty? then
132
+ if @flatten then
133
+ record.merge!(to_flatten(continent_hash, [@output_field, 'continent'], @field_delimiter))
134
+ else
135
+ record[[@output_field, 'continent'].join(@field_delimiter)] = continent_hash.to_json
136
+ end
127
137
  end
128
138
  end
129
139
 
130
140
  if @country then
131
141
  country_hash = {}
132
142
 
133
- country_hash['code'] = geoip.country.code
134
- country_hash['geoname_id'] = geoip.country.geoname_id
135
- country_hash['iso_code'] = geoip.country.iso_code
136
- country_hash['name'] = geoip.country.name(@locale)
143
+ unless geoip.country.code.nil? then
144
+ country_hash['code'] = geoip.country.code
145
+ end
146
+ unless geoip.country.geoname_id.nil? then
147
+ country_hash['geoname_id'] = geoip.country.geoname_id
148
+ end
149
+ unless geoip.country.iso_code.nil? then
150
+ country_hash['iso_code'] = geoip.country.iso_code
151
+ end
152
+ unless geoip.country.name(@locale).nil? then
153
+ country_hash['name'] = geoip.country.name(@locale)
154
+ end
137
155
 
138
- if @flatten then
139
- record.merge!(to_flatten(country_hash, [@output_field, 'country'], @field_delimiter))
140
- else
141
- record[[@output_field, 'country'].join(@field_delimiter)] = country_hash.to_json
156
+ unless country_hash.empty? then
157
+ if @flatten then
158
+ record.merge!(to_flatten(country_hash, [@output_field, 'country'], @field_delimiter))
159
+ else
160
+ record[[@output_field, 'country'].join(@field_delimiter)] = country_hash.to_json
161
+ end
142
162
  end
143
163
  end
144
164
 
145
165
  if @city then
146
166
  city_hash = {}
147
167
 
148
- city_hash['code'] = geoip.city.code
149
- city_hash['geoname_id'] = geoip.city.geoname_id
150
- city_hash['iso_code'] = geoip.city.iso_code
151
- city_hash['name'] = geoip.city.name(@locale)
168
+ unless geoip.city.code.nil? then
169
+ city_hash['code'] = geoip.city.code
170
+ end
171
+ unless geoip.city.geoname_id.nil? then
172
+ city_hash['geoname_id'] = geoip.city.geoname_id
173
+ end
174
+ unless geoip.city.iso_code.nil? then
175
+ city_hash['iso_code'] = geoip.city.iso_code
176
+ end
177
+ unless geoip.city.name(@locale).nil? then
178
+ city_hash['name'] = geoip.city.name(@locale)
179
+ end
152
180
 
153
- if @flatten then
154
- record.merge!(to_flatten(city_hash, [@output_field, 'city'], @field_delimiter))
155
- else
156
- record[[@output_field, 'city'].join(@field_delimiter)] = city_hash.to_json
181
+ unless city_hash.empty? then
182
+ if @flatten then
183
+ record.merge!(to_flatten(city_hash, [@output_field, 'city'], @field_delimiter))
184
+ else
185
+ record[[@output_field, 'city'].join(@field_delimiter)] = city_hash.to_json
186
+ end
157
187
  end
158
188
  end
159
189
 
160
190
  if @location then
161
191
  location_hash = {}
162
192
 
163
- location_hash['latitude'] = geoip.location.latitude
164
- location_hash['longitude'] = geoip.location.longitude
165
- location_hash['metro_code'] = geoip.location.metro_code
166
- location_hash['time_zone'] = geoip.location.time_zone
193
+ unless geoip.location.latitude.nil? then
194
+ location_hash['latitude'] = geoip.location.latitude
195
+ end
196
+ unless geoip.location.longitude.nil? then
197
+ location_hash['longitude'] = geoip.location.longitude
198
+ end
199
+ unless geoip.location.metro_code.nil? then
200
+ location_hash['metro_code'] = geoip.location.metro_code
201
+ end
202
+ unless geoip.location.time_zone.nil? then
203
+ location_hash['time_zone'] = geoip.location.time_zone
204
+ end
167
205
 
168
- if @flatten then
169
- record.merge!(to_flatten(location_hash, [@output_field, 'location'], @field_delimiter))
170
- else
171
- record[[@output_field, 'location'].join(@field_delimiter)] = location_hash.to_json
206
+ unless location_hash.empty? then
207
+ if @flatten then
208
+ record.merge!(to_flatten(location_hash, [@output_field, 'location'], @field_delimiter))
209
+ else
210
+ record[[@output_field, 'location'].join(@field_delimiter)] = location_hash.to_json
211
+ end
172
212
  end
173
213
  end
174
214
 
175
215
  if @postal then
176
216
  postal_hash = {}
177
217
 
178
- postal_hash['code'] = geoip.postal.code
218
+ unless geoip.postal.code.nil? then
219
+ postal_hash['code'] = geoip.postal.code
220
+ end
179
221
 
180
- if @flatten then
181
- record.merge!(to_flatten(postal_hash, [@output_field, 'postal'], @field_delimiter))
182
- else
183
- record[[@output_field, 'postal'].join(@field_delimiter)] = postal_hash.to_json
222
+ unless postal_hash.empty? then
223
+ if @flatten then
224
+ record.merge!(to_flatten(postal_hash, [@output_field, 'postal'], @field_delimiter))
225
+ else
226
+ record[[@output_field, 'postal'].join(@field_delimiter)] = postal_hash.to_json
227
+ end
184
228
  end
185
229
  end
186
230
 
187
231
  if @registered_country then
188
232
  registered_country_hash = {}
189
233
 
190
- registered_country_hash['code'] = geoip.registered_country.code
191
- registered_country_hash['geoname_id'] = geoip.registered_country.geoname_id
192
- registered_country_hash['iso_code'] = geoip.registered_country.iso_code
193
- registered_country_hash['name'] = geoip.registered_country.name(@locale)
234
+ unless geoip.registered_country.code.nil? then
235
+ registered_country_hash['code'] = geoip.registered_country.code
236
+ end
237
+ unless geoip.registered_country.geoname_id.nil? then
238
+ registered_country_hash['geoname_id'] = geoip.registered_country.geoname_id
239
+ end
240
+ unless geoip.registered_country.iso_code.nil? then
241
+ registered_country_hash['iso_code'] = geoip.registered_country.iso_code
242
+ end
243
+ unless geoip.registered_country.name(@locale).nil? then
244
+ registered_country_hash['name'] = geoip.registered_country.name(@locale)
245
+ end
194
246
 
195
- if @flatten then
196
- record.merge!(to_flatten(registered_country_hash, [@output_field, 'registered_country'], @field_delimiter))
197
- else
198
- record[[@output_field, 'registered_country'].join(@field_delimiter)] = registered_country_hash.to_json
247
+ unless registered_country_hash.empty? then
248
+ if @flatten then
249
+ record.merge!(to_flatten(registered_country_hash, [@output_field, 'registered_country'], @field_delimiter))
250
+ else
251
+ record[[@output_field, 'registered_country'].join(@field_delimiter)] = registered_country_hash.to_json
252
+ end
199
253
  end
200
254
  end
201
255
 
202
256
  if @represented_country then
203
257
  represented_country_hash = {}
204
258
 
205
- represented_country_hash['code'] = geoip.represented_country.code
206
- represented_country_hash['geoname_id'] = geoip.represented_country.geoname_id
207
- represented_country_hash['iso_code'] = geoip.represented_country.iso_code
208
- represented_country_hash['name'] = geoip.represented_country.name(@locale)
259
+ unless geoip.represented_country.code.nil? then
260
+ represented_country_hash['code'] = geoip.represented_country.code
261
+ end
262
+ unless geoip.represented_country.geoname_id.nil? then
263
+ represented_country_hash['geoname_id'] = geoip.represented_country.geoname_id
264
+ end
265
+ unless geoip.represented_country.iso_code.nil? then
266
+ represented_country_hash['iso_code'] = geoip.represented_country.iso_code
267
+ end
268
+ unless geoip.represented_country.name(@locale).nil? then
269
+ represented_country_hash['name'] = geoip.represented_country.name(@locale)
270
+ end
209
271
 
210
- if @flatten then
211
- record.merge!(to_flatten(represented_country_hash, [@output_field, 'represented_country'], @field_delimiter))
212
- else
213
- record[[@output_field, 'represented_country'].join(@field_delimiter)] = represented_country_hash.to_json
272
+ unless represented_country_hash.empty? then
273
+ if @flatten then
274
+ record.merge!(to_flatten(represented_country_hash, [@output_field, 'represented_country'], @field_delimiter))
275
+ else
276
+ record[[@output_field, 'represented_country'].join(@field_delimiter)] = represented_country_hash.to_json
277
+ end
214
278
  end
215
279
  end
216
280
 
@@ -221,42 +285,62 @@ module Fluent
221
285
  geoip.subdivisions.each do |subdivision|
222
286
  subdivision_hash = {}
223
287
 
224
- subdivision_hash['code'] = subdivision.code
225
- subdivision_hash['geoname_id'] = subdivision.geoname_id
226
- subdivision_hash['iso_code'] = subdivision.iso_code
227
- subdivision_hash['name'] = subdivision.name(@locale)
288
+ unless subdivision.code.nil? then
289
+ subdivision_hash['code'] = subdivision.code
290
+ end
291
+ unless subdivision.geoname_id.nil? then
292
+ subdivision_hash['geoname_id'] = subdivision.geoname_id
293
+ end
294
+ unless subdivision.iso_code.nil? then
295
+ subdivision_hash['iso_code'] = subdivision.iso_code
296
+ end
297
+ unless subdivision.name(@locale).nil? then
298
+ subdivision_hash['name'] = subdivision.name(@locale)
299
+ end
228
300
 
229
- subdivision_arry.push(subdivision_hash)
301
+ unless subdivision_hash.empty? then
302
+ subdivision_arry.push(subdivision_hash)
303
+ end
230
304
 
231
305
  i = i + 1
232
306
  end
233
307
 
234
- if @flatten then
235
- i = 0
236
- subdivision_arry.each do |subdivision|
237
- record.merge!(to_flatten(subdivision, [@output_field, 'subdivisions', i.to_s], @field_delimiter))
238
- i = i + 1
308
+ unless subdivision_arry.empty? then
309
+ if @flatten then
310
+ i = 0
311
+ subdivision_arry.each do |subdivision|
312
+ record.merge!(to_flatten(subdivision, [@output_field, 'subdivisions', i.to_s], @field_delimiter))
313
+ i = i + 1
314
+ end
315
+ else
316
+ record[[@output_field, 'subdivisions'].join(@field_delimiter)] = subdivision_arry.to_json
239
317
  end
240
- else
241
- record[[@output_field, 'subdivisions'].join(@field_delimiter)] = subdivision_arry.to_json
242
318
  end
243
319
  end
244
320
 
245
321
  if @traits then
246
322
  traits_hash = {}
247
323
 
248
- traits_hash['is_anonymous_proxy'] = geoip.traits.is_anonymous_proxy
249
- traits_hash['is_satellite_provider'] = geoip.traits.is_satellite_provider
324
+ unless geoip.traits.is_anonymous_proxy.nil? then
325
+ traits_hash['is_anonymous_proxy'] = geoip.traits.is_anonymous_proxy
326
+ end
327
+ unless geoip.traits.is_satellite_provider.nil? then
328
+ traits_hash['is_satellite_provider'] = geoip.traits.is_satellite_provider
329
+ end
250
330
 
251
- if @flatten then
252
- record.merge!(to_flatten(traits_hash, [@output_field, 'traits'], @field_delimiter))
253
- else
254
- record[[@output_field, 'traits'].join(@field_delimiter)] = traits_hash.to_json
331
+ unless traits_hash.empty? then
332
+ if @flatten then
333
+ record.merge!(to_flatten(traits_hash, [@output_field, 'traits'], @field_delimiter))
334
+ else
335
+ record[[@output_field, 'traits'].join(@field_delimiter)] = traits_hash.to_json
336
+ end
255
337
  end
256
338
  end
257
339
 
258
340
  if @connection_type then
259
- record[[@output_field, 'connection_type'].join(@field_delimiter)] = geoip.connection_type
341
+ unless geoip.connection_type.nil? then
342
+ record[[@output_field, 'connection_type'].join(@field_delimiter)] = geoip.connection_type
343
+ end
260
344
  end
261
345
 
262
346
  log.info "Record: %s" % record.inspect
@@ -286,16 +370,6 @@ module Fluent
286
370
  return output
287
371
  end
288
372
 
289
- def to_boolean(string)
290
- if string== true || string =~ (/(true|t|yes|y|1)$/i) then
291
- return true
292
- elsif string== false || string.nil? || string =~ (/(false|f|no|n|0)$/i)
293
- return false
294
- else
295
- return false
296
- end
297
- end
298
-
299
373
  def download_database(download_url, md5_url, database_path, md5_path)
300
374
  # database directory
301
375
  database_dir = File.dirname database_path
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-filter-geoip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Minoru Osuka
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-01-25 00:00:00.000000000 Z
11
+ date: 2016-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 10.4.2
61
+ version: 10.5.0
62
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: 10.4.2
68
+ version: 10.5.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: test-unit
71
71
  requirement: !ruby/object:Gem::Requirement