fluent-plugin-woothee 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b3613e4c7628249b38e3c9df0fc6e6cf04f0327
4
- data.tar.gz: 4423e9af2140ae82f4b59df149d6385c14a82fb5
3
+ metadata.gz: a023e5af86e6a0c8e61e478271210b67f49a0cb9
4
+ data.tar.gz: 47c03e7e2554c15a2839b4e78f207cce867ebdd2
5
5
  SHA512:
6
- metadata.gz: 419d0960010fbb59a344b5cd9be8697eb485dac41ea0f0f1e5efd7effa18b11037136a1c2db0b3589e054c311146449263edcdd8f875de96465a9d2356c64df2
7
- data.tar.gz: 7318a37e5b0037df0cfafe27b739d8a28abbd891ce009a7d75900c1a684cc1ecdbb755160dcf709e66bf0053ef71c4a053d3072adff43c1fd014562cdeabab6c
6
+ metadata.gz: 4d4ec145c669b50764a57b546e2697d25237789c0e5e9339f6e35c9908db5bfcfd99cfe55225e9b305e80464e5becdbb1fabbffff21d5ae8c936ef66f75f3503
7
+ data.tar.gz: 629c34ed3cc1c175df26a3f06409fd1c0c3923163f0f7673b72a1fb967dc14db38f16ee3fb675b85320bcfb2d49f319742e5bd02457b50444d92348d21bcfa3b
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  'fluent-plugin-woothee' is a Fluentd plugin to parse UserAgent strings and to filter/drop specified categories of user terminals (like 'pc', 'smartphone' and so on).
6
6
 
7
- 'woothee' is multi-language user-agent strings parser project. See: https://github.com/tagomoris/woothee
7
+ 'woothee' is multi-language user-agent strings parser project. See: https://github.com/woothee/woothee
8
8
 
9
9
  ## Configuration
10
10
 
@@ -29,6 +29,7 @@ Output messages with tag 'merged.**' has attributes like 'agent\_name', 'agent\_
29
29
  out_key_name ua_name
30
30
  out_key_category ua_category
31
31
  out_key_os ua_os
32
+ out_key_os_version ua_os_version
32
33
  out_key_version ua_version
33
34
  out_key_vendor ua_vendor
34
35
  </match>
@@ -2,12 +2,12 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "fluent-plugin-woothee"
5
- gem.version = "0.1.0"
5
+ gem.version = "0.1.1"
6
6
  gem.authors = ["TAGOMORI Satoshi"]
7
7
  gem.email = ["tagomoris@gmail.com"]
8
- gem.description = %q{parsing by Project Woothee. See https://github.com/tagomoris/woothee }
9
- gem.summary = %q{Fluentd plugin to parse UserAgent strings}
10
- gem.homepage = "https://github.com/woothee/fluent-plugin-woothee"
8
+ gem.description = %q{parsing by Project Woothee. See https://github.com/woothee/woothee }
9
+ gem.summary = %q{Fluentd plugin to parse UserAgent strings with woothee parser. It adds device information or filter records with specific device types.}
10
+ gem.homepage = "https://github.com/tagomoris/fluent-plugin-woothee"
11
11
  gem.license = "APLv2"
12
12
 
13
13
  gem.files = `git ls-files`.split($\)
@@ -16,6 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.require_paths = ["lib"]
17
17
 
18
18
  gem.add_development_dependency "rake"
19
+ gem.add_development_dependency "test-unit", "~> 3.0.2"
19
20
  gem.add_runtime_dependency "fluentd"
20
- gem.add_runtime_dependency "woothee", ">= 0.2.4"
21
+ gem.add_runtime_dependency "woothee", ">= 1.0.0"
21
22
  end
@@ -22,6 +22,7 @@ class Fluent::WootheeOutput < Fluent::Output
22
22
  config_param :out_key_name, :string, :default => 'agent_name'
23
23
  config_param :out_key_category, :string, :default => 'agent_category'
24
24
  config_param :out_key_os, :string, :default => 'agent_os'
25
+ config_param :out_key_os_version, :string, :default => nil # supress output
25
26
  config_param :out_key_version, :string, :default => nil # supress output
26
27
  config_param :out_key_vendor, :string, :default => nil # supress output
27
28
 
@@ -30,11 +31,6 @@ class Fluent::WootheeOutput < Fluent::Output
30
31
  require 'woothee'
31
32
  end
32
33
 
33
- # Define `log` method for v0.10.42 or earlier
34
- unless method_defined?(:log)
35
- define_method("log") { $log }
36
- end
37
-
38
34
  def configure(conf)
39
35
  super
40
36
 
@@ -126,6 +122,7 @@ class Fluent::WootheeOutput < Fluent::Output
126
122
  @out_key_category => parsed[Woothee::ATTRIBUTE_CATEGORY].to_s,
127
123
  @out_key_os => parsed[Woothee::ATTRIBUTE_OS]
128
124
  })
125
+ record[@out_key_os_version] = parsed[Woothee::ATTRIBUTE_OS_VERSION] if @out_key_os_version
129
126
  record[@out_key_version] = parsed[Woothee::ATTRIBUTE_VERSION] if @out_key_version
130
127
  record[@out_key_vendor] = parsed[Woothee::ATTRIBUTE_VENDOR] if @out_key_vendor
131
128
  end
@@ -28,6 +28,7 @@ merge_agent_info yes
28
28
  out_key_name ua_name
29
29
  out_key_category ua_category
30
30
  out_key_os ua_os
31
+ out_key_os_version ua_os_version
31
32
  out_key_version ua_version
32
33
  out_key_vendor ua_vendor
33
34
  ]
@@ -40,6 +41,10 @@ drop_categories crawler,misc
40
41
  tag selected
41
42
  ]
42
43
 
44
+ def setup
45
+ Fluent::Test.setup
46
+ end
47
+
43
48
  def create_driver(conf=CONFIG1,tag='test')
44
49
  Fluent::Test::OutputTestDriver.new(Fluent::WootheeOutput, tag).configure(conf)
45
50
  end
@@ -85,6 +90,7 @@ tag selected
85
90
  assert_equal 'ua_name', d.instance.out_key_name
86
91
  assert_equal 'ua_category', d.instance.out_key_category
87
92
  assert_equal 'ua_os', d.instance.out_key_os
93
+ assert_equal 'ua_os_version', d.instance.out_key_os_version
88
94
  assert_equal 'ua_version', d.instance.out_key_version
89
95
  assert_equal 'ua_vendor', d.instance.out_key_vendor
90
96
 
@@ -250,11 +256,12 @@ tag selected
250
256
 
251
257
  # 'agent' => 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)'
252
258
  m = emits[0][2]
253
- assert_equal 7, m.keys.size
259
+ assert_equal 8, m.keys.size
254
260
  assert_equal 0, m['value']
255
261
  assert_equal 'Internet Explorer', m['ua_name']
256
262
  assert_equal 'pc', m['ua_category']
257
263
  assert_equal 'Windows 8', m['ua_os']
264
+ assert_equal 'NT 6.2', m['ua_os_version']
258
265
  assert_equal 'Microsoft', m['ua_vendor']
259
266
  assert_equal '10.0', m['ua_version']
260
267
 
@@ -264,6 +271,7 @@ tag selected
264
271
  assert_equal 'Firefox', m['ua_name']
265
272
  assert_equal 'pc', m['ua_category']
266
273
  assert_equal 'Windows Vista', m['ua_os']
274
+ assert_equal 'NT 6.0', m['ua_os_version']
267
275
  assert_equal 'Mozilla', m['ua_vendor']
268
276
  assert_equal '9.0.1', m['ua_version']
269
277
 
@@ -273,6 +281,7 @@ tag selected
273
281
  assert_equal 'Firefox', m['ua_name']
274
282
  assert_equal 'pc', m['ua_category']
275
283
  assert_equal 'Linux', m['ua_os']
284
+ assert_equal 'UNKNOWN', m['ua_os_version']
276
285
  assert_equal 'Mozilla', m['ua_vendor']
277
286
  assert_equal '9.0.1', m['ua_version']
278
287
 
@@ -282,6 +291,7 @@ tag selected
282
291
  assert_equal 'Safari', m['ua_name']
283
292
  assert_equal 'smartphone', m['ua_category']
284
293
  assert_equal 'Android', m['ua_os']
294
+ assert_equal '3.1', m['ua_os_version']
285
295
  assert_equal 'Apple', m['ua_vendor']
286
296
  assert_equal '4.0', m['ua_version']
287
297
 
@@ -291,6 +301,7 @@ tag selected
291
301
  assert_equal 'docomo', m['ua_name']
292
302
  assert_equal 'mobilephone', m['ua_category']
293
303
  assert_equal 'docomo', m['ua_os']
304
+ assert_equal 'UNKNOWN', m['ua_os_version']
294
305
  assert_equal 'docomo', m['ua_vendor']
295
306
  assert_equal 'N505i', m['ua_version']
296
307
 
@@ -300,6 +311,7 @@ tag selected
300
311
  assert_equal 'PlayStation Vita', m['ua_name']
301
312
  assert_equal 'appliance', m['ua_category']
302
313
  assert_equal 'PlayStation Vita', m['ua_os']
314
+ assert_equal '1.51', m['ua_os_version']
303
315
  assert_equal 'Sony', m['ua_vendor']
304
316
  assert_equal 'UNKNOWN', m['ua_version']
305
317
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-woothee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - TAGOMORI Satoshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-07 00:00:00.000000000 Z
11
+ date: 2015-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: test-unit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 3.0.2
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.0.2
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: fluentd
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -44,15 +58,15 @@ dependencies:
44
58
  requirements:
45
59
  - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: 0.2.4
61
+ version: 1.0.0
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: 0.2.4
55
- description: 'parsing by Project Woothee. See https://github.com/tagomoris/woothee '
68
+ version: 1.0.0
69
+ description: 'parsing by Project Woothee. See https://github.com/woothee/woothee '
56
70
  email:
57
71
  - tagomoris@gmail.com
58
72
  executables: []
@@ -69,7 +83,7 @@ files:
69
83
  - lib/fluent/plugin/out_woothee.rb
70
84
  - test/helper.rb
71
85
  - test/plugin/test_out_woothee.rb
72
- homepage: https://github.com/woothee/fluent-plugin-woothee
86
+ homepage: https://github.com/tagomoris/fluent-plugin-woothee
73
87
  licenses:
74
88
  - APLv2
75
89
  metadata: {}
@@ -89,10 +103,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
103
  version: '0'
90
104
  requirements: []
91
105
  rubyforge_project:
92
- rubygems_version: 2.2.2
106
+ rubygems_version: 2.4.5
93
107
  signing_key:
94
108
  specification_version: 4
95
- summary: Fluentd plugin to parse UserAgent strings
109
+ summary: Fluentd plugin to parse UserAgent strings with woothee parser. It adds device
110
+ information or filter records with specific device types.
96
111
  test_files:
97
112
  - test/helper.rb
98
113
  - test/plugin/test_out_woothee.rb
114
+ has_rdoc: