device_detector 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -0
  3. data/Rakefile +12 -6
  4. data/device_detector.gemspec +1 -1
  5. data/lib/device_detector.rb +65 -4
  6. data/lib/device_detector/client.rb +6 -6
  7. data/lib/device_detector/device.rb +62 -31
  8. data/lib/device_detector/memory_cache.rb +1 -1
  9. data/lib/device_detector/metadata_extractor.rb +4 -13
  10. data/lib/device_detector/model_extractor.rb +10 -1
  11. data/lib/device_detector/name_extractor.rb +1 -1
  12. data/lib/device_detector/os.rb +141 -5
  13. data/lib/device_detector/parser.rb +23 -12
  14. data/lib/device_detector/version.rb +1 -1
  15. data/lib/device_detector/version_extractor.rb +1 -1
  16. data/regexes/bots.yml +36 -1
  17. data/regexes/{browser_engines.yml → client/browser_engine.yml} +4 -1
  18. data/regexes/{browsers.yml → client/browsers.yml} +31 -27
  19. data/regexes/{feed_readers.yml → client/feed_readers.yml} +0 -1
  20. data/regexes/{libraries.yml → client/libraries.yml} +1 -1
  21. data/regexes/{mediaplayers.yml → client/mediaplayers.yml} +1 -1
  22. data/regexes/{mobile_apps.yml → client/mobile_apps.yml} +0 -1
  23. data/regexes/{pim.yml → client/pim.yml} +1 -1
  24. data/regexes/{devices → device}/cameras.yml +1 -1
  25. data/regexes/{devices → device}/car_browsers.yml +0 -1
  26. data/regexes/{devices → device}/consoles.yml +0 -1
  27. data/regexes/{devices → device}/mobiles.yml +193 -49
  28. data/regexes/{devices/portable_media_players.yml → device/portable_media_player.yml} +0 -1
  29. data/regexes/{devices → device}/televisions.yml +0 -3
  30. data/regexes/oss.yml +105 -102
  31. data/regexes/vendorfragments.yml +70 -0
  32. data/spec/device_detector/bot_fixtures_spec.rb +30 -0
  33. data/spec/device_detector/client_fixtures_spec.rb +31 -0
  34. data/spec/device_detector/concrete_user_agent_spec.rb +41 -1
  35. data/spec/device_detector/detector_fixtures_spec.rb +56 -0
  36. data/spec/device_detector/device_fixtures_spec.rb +36 -0
  37. data/spec/device_detector/device_spec.rb +3 -3
  38. data/spec/device_detector/memory_cache_spec.rb +1 -1
  39. data/spec/device_detector/model_extractor_spec.rb +7 -7
  40. data/spec/device_detector/os_fixtures_spec.rb +26 -0
  41. data/spec/device_detector/version_extractor_spec.rb +10 -10
  42. data/spec/device_detector_spec.rb +1 -1
  43. data/spec/fixtures/client/browser.yml +986 -0
  44. data/spec/fixtures/client/feed_reader.yml +180 -0
  45. data/spec/fixtures/client/library.yml +78 -0
  46. data/spec/fixtures/client/mediaplayer.yml +144 -0
  47. data/spec/fixtures/client/mobile_app.yml +24 -0
  48. data/spec/fixtures/client/pim.yml +90 -0
  49. data/spec/fixtures/detector/bots.yml +716 -0
  50. data/spec/fixtures/detector/camera.yml +91 -0
  51. data/spec/fixtures/detector/car_browser.yml +19 -0
  52. data/spec/fixtures/detector/console.yml +253 -0
  53. data/spec/fixtures/detector/desktop.yml +4568 -0
  54. data/spec/fixtures/detector/feature_phone.yml +719 -0
  55. data/spec/fixtures/detector/feed_reader.yml +462 -0
  56. data/spec/fixtures/detector/mediaplayer.yml +141 -0
  57. data/spec/fixtures/detector/mobile_apps.yml +32 -0
  58. data/spec/fixtures/detector/phablet.yml +1095 -0
  59. data/spec/fixtures/detector/portable_media_player.yml +145 -0
  60. data/spec/fixtures/detector/smart_display.yml +19 -0
  61. data/spec/fixtures/detector/smartphone.yml +28673 -0
  62. data/spec/fixtures/detector/tablet.yml +13201 -0
  63. data/spec/fixtures/detector/tv.yml +1380 -0
  64. data/spec/fixtures/detector/unknown.yml +3536 -0
  65. data/spec/fixtures/device/camera.yml +18 -0
  66. data/spec/fixtures/device/car_browser.yml +6 -0
  67. data/spec/fixtures/device/console.yml +72 -0
  68. data/spec/fixtures/parser/bots.yml +2055 -0
  69. data/spec/fixtures/parser/oss.yml +607 -0
  70. data/spec/fixtures/parser/vendorfragments.yml +156 -0
  71. data/spec/spec_helper.rb +6 -2
  72. metadata +84 -17
@@ -0,0 +1,462 @@
1
+ -
2
+ user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) akregator/4.11.5 Safari/537.21
3
+ os:
4
+ name: GNU/Linux
5
+ short_name: LIN
6
+ version:
7
+ client:
8
+ type: feed reader
9
+ name: Akregator
10
+ version: "4.11.5"
11
+ device:
12
+ type: desktop
13
+ brand:
14
+ model:
15
+ os_family: GNU/Linux
16
+ browser_family: Unknown
17
+ -
18
+ user_agent: Akregator/4.12.3; syndication SUSE
19
+ os:
20
+ name: SUSE
21
+ short_name: SSE
22
+ version:
23
+ client:
24
+ type: feed reader
25
+ name: Akregator
26
+ version: "4.12.3"
27
+ device:
28
+ type: desktop
29
+ brand:
30
+ model:
31
+ os_family: GNU/Linux
32
+ browser_family: Unknown
33
+ -
34
+ user_agent: Akregator/1.2.9; librss/remnants
35
+ os: [ ]
36
+ client:
37
+ type: feed reader
38
+ name: Akregator
39
+ version: "1.2.9"
40
+ device:
41
+ type:
42
+ brand:
43
+ model:
44
+ os_family: Unknown
45
+ browser_family: Unknown
46
+ -
47
+ user_agent: Apple-PubSub/65.28
48
+ os: [ ]
49
+ client:
50
+ type: feed reader
51
+ name: Apple PubSub
52
+ version: "65.28"
53
+ device:
54
+ type:
55
+ brand:
56
+ model:
57
+ os_family: Unknown
58
+ browser_family: Unknown
59
+ -
60
+ user_agent: FeedDemon/4.5 (http://www.feeddemon.com/; Microsoft Windows)
61
+ os:
62
+ name: Windows
63
+ short_name: WIN
64
+ version:
65
+ client:
66
+ type: feed reader
67
+ name: FeedDemon
68
+ version: "4.5"
69
+ device:
70
+ type: desktop
71
+ brand:
72
+ model:
73
+ os_family: Windows
74
+ browser_family: Unknown
75
+ -
76
+ user_agent: FeedDemon/4.5 (http://www.feeddemon.com/; Microsoft Windows XP)
77
+ os:
78
+ name: Windows
79
+ short_name: WIN
80
+ version: "XP"
81
+ client:
82
+ type: feed reader
83
+ name: FeedDemon
84
+ version: "4.5"
85
+ device:
86
+ type: desktop
87
+ brand:
88
+ model:
89
+ os_family: Windows
90
+ browser_family: Unknown
91
+ -
92
+ user_agent: FeeddlerPro/2.4 CFNetwork/672.0.8 Darwin/14.0.0
93
+ os:
94
+ name: Mac
95
+ short_name: MAC
96
+ version:
97
+ client:
98
+ type: feed reader
99
+ name: Feeddler RSS Reader
100
+ version: "2.4"
101
+ device:
102
+ type: desktop
103
+ brand:
104
+ model:
105
+ os_family: Mac
106
+ browser_family: Unknown
107
+ -
108
+ user_agent: FeeddlerRSS/2.4 CFNetwork/548.1.4 Darwin/11.0.0
109
+ os:
110
+ name: Mac
111
+ short_name: MAC
112
+ version:
113
+ client:
114
+ type: feed reader
115
+ name: Feeddler RSS Reader
116
+ version: "2.4"
117
+ device:
118
+ type: desktop
119
+ brand:
120
+ model:
121
+ os_family: Mac
122
+ browser_family: Unknown
123
+ -
124
+ user_agent: FeeddlerRSS 2.4 (iPad; iPhone OS 5.1.1; en_US)
125
+ os:
126
+ name: iOS
127
+ short_name: IOS
128
+ version: "5.1.1"
129
+ client:
130
+ type: feed reader
131
+ name: Feeddler RSS Reader
132
+ version: "2.4"
133
+ device:
134
+ type: tablet
135
+ brand: AP
136
+ model: iPad
137
+ os_family: iOS
138
+ browser_family: Unknown
139
+ -
140
+ user_agent: JetBrains Omea Reader 2.2 (http://www.jetbrains.com/omea/reader/)
141
+ os: [ ]
142
+ client:
143
+ type: feed reader
144
+ name: JetBrains Omea Reader
145
+ version: "2.2"
146
+ device:
147
+ type:
148
+ brand:
149
+ model:
150
+ os_family: Unknown
151
+ browser_family: Unknown
152
+ -
153
+ user_agent: Liferea/1.6.4 (Linux; en_US.UTF-8; http://liferea.sf.net/)
154
+ os:
155
+ name: GNU/Linux
156
+ short_name: LIN
157
+ version:
158
+ client:
159
+ type: feed reader
160
+ name: Liferea
161
+ version: "1.6.4"
162
+ device:
163
+ type: desktop
164
+ brand:
165
+ model:
166
+ os_family: GNU/Linux
167
+ browser_family: Unknown
168
+ -
169
+ user_agent: Liferea/1.10-RC1 (Linux; en_GB.UTF-8; http://liferea.sf.net/)
170
+ os:
171
+ name: GNU/Linux
172
+ short_name: LIN
173
+ version:
174
+ client:
175
+ type: feed reader
176
+ name: Liferea
177
+ version: "1.10"
178
+ device:
179
+ type: desktop
180
+ brand:
181
+ model:
182
+ os_family: GNU/Linux
183
+ browser_family: Unknown
184
+ -
185
+ user_agent: Liferea/1.10.6 (Linux; en_US.UTF8; http://liferea.sf.net/) AppleWebKit (KHTML, like Gecko)
186
+ os:
187
+ name: GNU/Linux
188
+ short_name: LIN
189
+ version:
190
+ client:
191
+ type: feed reader
192
+ name: Liferea
193
+ version: "1.10.6"
194
+ device:
195
+ type: desktop
196
+ brand:
197
+ model:
198
+ os_family: GNU/Linux
199
+ browser_family: Unknown
200
+ -
201
+ user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/6.0 NetNewsWire/4.0.0
202
+ os:
203
+ name: Mac
204
+ short_name: MAC
205
+ version: "10.9.2"
206
+ client:
207
+ type: feed reader
208
+ name: NetNewsWire
209
+ version: "4.0.0"
210
+ device:
211
+ type: desktop
212
+ brand:
213
+ model:
214
+ os_family: Mac
215
+ browser_family: Unknown
216
+ -
217
+ user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) NetNewsWire/3.3.2
218
+ os:
219
+ name: Mac
220
+ short_name: MAC
221
+ version: "10.9.2"
222
+ client:
223
+ type: feed reader
224
+ name: NetNewsWire
225
+ version: "3.3.2"
226
+ device:
227
+ type: desktop
228
+ brand:
229
+ model:
230
+ os_family: Mac
231
+ browser_family: Unknown
232
+ -
233
+ user_agent: NetNewsWire/4.0.0 (Mac OS X; http://netnewswireapp.com/mac/; gzip-happy)
234
+ os:
235
+ name: Mac
236
+ short_name: MAC
237
+ version:
238
+ client:
239
+ type: feed reader
240
+ name: NetNewsWire
241
+ version: "4.0.0"
242
+ device:
243
+ type: desktop
244
+ brand:
245
+ model:
246
+ os_family: Mac
247
+ browser_family: Unknown
248
+ -
249
+ user_agent: newsbeuter/2.7 (Linux x86_64)
250
+ os:
251
+ name: GNU/Linux
252
+ short_name: LIN
253
+ version:
254
+ client:
255
+ type: feed reader
256
+ name: Newsbeuter
257
+ version: "2.7"
258
+ device:
259
+ type: desktop
260
+ brand:
261
+ model:
262
+ os_family: GNU/Linux
263
+ browser_family: Unknown
264
+ -
265
+ user_agent: NewsBlur iPhone App v3.6
266
+ os:
267
+ name: iOS
268
+ short_name: IOS
269
+ version:
270
+ client:
271
+ type: feed reader
272
+ name: NewsBlur Mobile App
273
+ version: "3.6"
274
+ device:
275
+ type: smartphone
276
+ brand: AP
277
+ model: iPhone
278
+ os_family: iOS
279
+ browser_family: Unknown
280
+ -
281
+ user_agent: NewsBlur iPad App v3.6
282
+ os:
283
+ name: iOS
284
+ short_name: IOS
285
+ version:
286
+ client:
287
+ type: feed reader
288
+ name: NewsBlur Mobile App
289
+ version: "3.6"
290
+ device:
291
+ type: tablet
292
+ brand: AP
293
+ model: iPad
294
+ os_family: iOS
295
+ browser_family: Unknown
296
+ -
297
+ user_agent: NewsBlur/4.0.1 CFNetwork/672.1.13 Darwin/14.0.0
298
+ os:
299
+ name: Mac
300
+ short_name: MAC
301
+ version:
302
+ client:
303
+ type: feed reader
304
+ name: NewsBlur
305
+ version: "4.0.1"
306
+ device:
307
+ type: desktop
308
+ brand:
309
+ model:
310
+ os_family: Mac
311
+ browser_family: Unknown
312
+ -
313
+ user_agent: newsbeuter/2.4 (Linux 3.2.0-23-generic; i686; http://www.newsbeuter.org/) libcurl/7.22.0 GnuTLS/2.12.14 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
314
+ os:
315
+ name: GNU/Linux
316
+ short_name: LIN
317
+ version:
318
+ client:
319
+ type: feed reader
320
+ name: Newsbeuter
321
+ version: "2.4"
322
+ device:
323
+ type: desktop
324
+ brand:
325
+ model:
326
+ os_family: GNU/Linux
327
+ browser_family: Unknown
328
+ -
329
+ user_agent: Pulp/1.5.2 (iPad; http://www.acrylicapps.com/pulp/)
330
+ os:
331
+ name: iOS
332
+ short_name: IOS
333
+ version:
334
+ client:
335
+ type: feed reader
336
+ name: Pulp
337
+ version: "1.5.2"
338
+ device:
339
+ type: tablet
340
+ brand: AP
341
+ model: iPad
342
+ os_family: iOS
343
+ browser_family: Unknown
344
+ -
345
+ user_agent: ReadKit/2.4.0 (Mac OS X Version 10.9.2 (Build 13C64))
346
+ os:
347
+ name: Mac
348
+ short_name: MAC
349
+ version: "10.9.2"
350
+ client:
351
+ type: feed reader
352
+ name: ReadKit
353
+ version: "2.4.0"
354
+ device:
355
+ type: desktop
356
+ brand:
357
+ model:
358
+ os_family: Mac
359
+ browser_family: Unknown
360
+ -
361
+ user_agent: ReadKit/7017 CFNetwork/673.2.1 Darwin/13.1.0 (x86_64) (MacBookPro10%2C1)
362
+ os:
363
+ name: Mac
364
+ short_name: MAC
365
+ version:
366
+ client:
367
+ type: feed reader
368
+ name: ReadKit
369
+ version: "7017"
370
+ device:
371
+ type: desktop
372
+ brand:
373
+ model:
374
+ os_family: Mac
375
+ browser_family: Unknown
376
+ -
377
+ user_agent: Reeder/3.2 CFNetwork/672.1.12 Darwin/14.0.0
378
+ os:
379
+ name: Mac
380
+ short_name: MAC
381
+ version:
382
+ client:
383
+ type: feed reader
384
+ name: Reeder
385
+ version: "3.2"
386
+ device:
387
+ type: desktop
388
+ brand:
389
+ model:
390
+ os_family: Mac
391
+ browser_family: Unknown
392
+ -
393
+ user_agent: RssBandit/1.9.0.1002
394
+ os: [ ]
395
+ client:
396
+ type: feed reader
397
+ name: RSS Bandit
398
+ version: "1.9.0.1002"
399
+ device:
400
+ type:
401
+ brand:
402
+ model:
403
+ os_family: Unknown
404
+ browser_family: Unknown
405
+ -
406
+ user_agent: RssBandit/1.9.0.1002 (.NET CLR 2.0.50727.7512; WinNT 6.2.9200.0; http://www.rssbandit.org)
407
+ os:
408
+ name: Windows
409
+ short_name: WIN
410
+ version: "NT"
411
+ client:
412
+ type: feed reader
413
+ name: RSS Bandit
414
+ version: "1.9.0.1002"
415
+ device:
416
+ type: desktop
417
+ brand:
418
+ model:
419
+ os_family: Windows
420
+ browser_family: Unknown
421
+ -
422
+ user_agent: RSS Junkie Daemon
423
+ os: [ ]
424
+ client:
425
+ type: feed reader
426
+ name: RSS Junkie
427
+ version:
428
+ device:
429
+ type:
430
+ brand:
431
+ model:
432
+ os_family: Unknown
433
+ browser_family: Unknown
434
+ -
435
+ user_agent: RSSOwl/2.2.1.201312301314 (Windows; U; en)
436
+ os:
437
+ name: Windows
438
+ short_name: WIN
439
+ version:
440
+ client:
441
+ type: feed reader
442
+ name: RSSOwl
443
+ version: "2.2.1.201312301314"
444
+ device:
445
+ type: desktop
446
+ brand:
447
+ model:
448
+ os_family: Windows
449
+ browser_family: Unknown
450
+ -
451
+ user_agent: RSSOwl/2.2.1.201312301316 (X11; U; en)
452
+ os: [ ]
453
+ client:
454
+ type: feed reader
455
+ name: RSSOwl
456
+ version: "2.2.1.201312301316"
457
+ device:
458
+ type:
459
+ brand:
460
+ model:
461
+ os_family: Unknown
462
+ browser_family: Unknown