device_detector 1.0.4 → 1.0.7

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.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +8 -7
  4. data/lib/device_detector/browser.rb +364 -0
  5. data/lib/device_detector/client.rb +8 -0
  6. data/lib/device_detector/device.rb +1204 -2
  7. data/lib/device_detector/os.rb +39 -12
  8. data/lib/device_detector/parser.rb +1 -1
  9. data/lib/device_detector/version.rb +1 -1
  10. data/lib/device_detector/version_extractor.rb +28 -0
  11. data/lib/device_detector.rb +57 -13
  12. data/regexes/bots.yml +651 -61
  13. data/regexes/client/browser_engine.yml +7 -1
  14. data/regexes/client/browsers.yml +774 -78
  15. data/regexes/client/feed_readers.yml +4 -10
  16. data/regexes/client/libraries.yml +71 -2
  17. data/regexes/client/mediaplayers.yml +25 -1
  18. data/regexes/client/mobile_apps.yml +923 -73
  19. data/regexes/client/pim.yml +65 -2
  20. data/regexes/device/cameras.yml +5 -5
  21. data/regexes/device/car_browsers.yml +16 -0
  22. data/regexes/device/consoles.yml +13 -1
  23. data/regexes/device/mobiles.yml +17029 -3889
  24. data/regexes/device/notebooks.yml +114 -0
  25. data/regexes/device/portable_media_player.yml +36 -9
  26. data/regexes/device/shell_tv.yml +117 -0
  27. data/regexes/device/televisions.yml +439 -34
  28. data/regexes/oss.yml +620 -284
  29. metadata +9 -131
  30. data/.gitignore +0 -14
  31. data/.rubocop.yml +0 -49
  32. data/.ruby-version +0 -1
  33. data/.travis.yml +0 -14
  34. data/Gemfile +0 -8
  35. data/Rakefile +0 -85
  36. data/device_detector.gemspec +0 -27
  37. data/spec/device_detector/bot_fixtures_spec.rb +0 -30
  38. data/spec/device_detector/client_fixtures_spec.rb +0 -31
  39. data/spec/device_detector/concrete_user_agent_spec.rb +0 -135
  40. data/spec/device_detector/detector_fixtures_spec.rb +0 -100
  41. data/spec/device_detector/device_fixtures_spec.rb +0 -36
  42. data/spec/device_detector/device_spec.rb +0 -131
  43. data/spec/device_detector/memory_cache_spec.rb +0 -148
  44. data/spec/device_detector/model_extractor_spec.rb +0 -63
  45. data/spec/device_detector/os_fixtures_spec.rb +0 -26
  46. data/spec/device_detector/version_extractor_spec.rb +0 -79
  47. data/spec/device_detector_spec.rb +0 -189
  48. data/spec/fixtures/client/browser.yml +0 -2836
  49. data/spec/fixtures/client/feed_reader.yml +0 -199
  50. data/spec/fixtures/client/library.yml +0 -193
  51. data/spec/fixtures/client/mediaplayer.yml +0 -163
  52. data/spec/fixtures/client/mobile_app.yml +0 -217
  53. data/spec/fixtures/client/pim.yml +0 -115
  54. data/spec/fixtures/detector/bots.yml +0 -3726
  55. data/spec/fixtures/detector/camera.yml +0 -141
  56. data/spec/fixtures/detector/car_browser.yml +0 -81
  57. data/spec/fixtures/detector/console.yml +0 -321
  58. data/spec/fixtures/detector/desktop.yml +0 -5461
  59. data/spec/fixtures/detector/feature_phone.yml +0 -891
  60. data/spec/fixtures/detector/feed_reader.yml +0 -551
  61. data/spec/fixtures/detector/mediaplayer.yml +0 -253
  62. data/spec/fixtures/detector/mobile_apps.yml +0 -494
  63. data/spec/fixtures/detector/phablet.yml +0 -4167
  64. data/spec/fixtures/detector/portable_media_player.yml +0 -178
  65. data/spec/fixtures/detector/smart_display.yml +0 -61
  66. data/spec/fixtures/detector/smart_speaker.yml +0 -55
  67. data/spec/fixtures/detector/smartphone-1.yml +0 -9927
  68. data/spec/fixtures/detector/smartphone-10.yml +0 -9977
  69. data/spec/fixtures/detector/smartphone-11.yml +0 -9891
  70. data/spec/fixtures/detector/smartphone-12.yml +0 -9906
  71. data/spec/fixtures/detector/smartphone-13.yml +0 -9920
  72. data/spec/fixtures/detector/smartphone-14.yml +0 -2662
  73. data/spec/fixtures/detector/smartphone-2.yml +0 -9992
  74. data/spec/fixtures/detector/smartphone-3.yml +0 -9945
  75. data/spec/fixtures/detector/smartphone-4.yml +0 -9923
  76. data/spec/fixtures/detector/smartphone-5.yml +0 -9914
  77. data/spec/fixtures/detector/smartphone-6.yml +0 -9962
  78. data/spec/fixtures/detector/smartphone-7.yml +0 -9899
  79. data/spec/fixtures/detector/smartphone-8.yml +0 -9931
  80. data/spec/fixtures/detector/smartphone-9.yml +0 -9899
  81. data/spec/fixtures/detector/smartphone.yml +0 -9984
  82. data/spec/fixtures/detector/tablet-1.yml +0 -9995
  83. data/spec/fixtures/detector/tablet-2.yml +0 -9977
  84. data/spec/fixtures/detector/tablet-3.yml +0 -9959
  85. data/spec/fixtures/detector/tablet-4.yml +0 -4528
  86. data/spec/fixtures/detector/tablet.yml +0 -9971
  87. data/spec/fixtures/detector/tv.yml +0 -4933
  88. data/spec/fixtures/detector/unknown.yml +0 -3236
  89. data/spec/fixtures/detector/wearable.yml +0 -61
  90. data/spec/fixtures/device/camera.yml +0 -19
  91. data/spec/fixtures/device/car_browser.yml +0 -13
  92. data/spec/fixtures/device/console.yml +0 -79
  93. data/spec/fixtures/parser/oss.yml +0 -1082
  94. data/spec/fixtures/parser/vendorfragments.yml +0 -168
  95. data/spec/spec_helper.rb +0 -9
@@ -1,494 +0,0 @@
1
- ---
2
- -
3
- user_agent: Pulse/4.0.5 (iPhone; iOS 7.0.6; Scale/2.00)
4
- os:
5
- name: iOS
6
- short_name: IOS
7
- version: "7.0.6"
8
- platform: ""
9
- client:
10
- type: mobile app
11
- name: Pulse
12
- version: "4.0.5"
13
- device:
14
- type: smartphone
15
- brand: AP
16
- model: iPhone
17
- os_family: iOS
18
- browser_family: Unknown
19
- -
20
- user_agent: WhatsApp/2.6.4 iPhone_OS/4.3.3 Device/iPhone_4
21
- os:
22
- name: iOS
23
- short_name: IOS
24
- version: "4.3.3"
25
- platform: ""
26
- client:
27
- type: mobile app
28
- name: WhatsApp
29
- version: "2.6.4"
30
- device:
31
- type: smartphone
32
- brand: AP
33
- model: iPhone
34
- os_family: iOS
35
- browser_family: Unknown
36
- -
37
- user_agent: AndroidDownloadManager/4.1.1 (Linux; U; Android 4.1.1; MB886 Build/9.8.0Q-97_MB886_FFW-20)
38
- os:
39
- name: Android
40
- short_name: AND
41
- version: "4.1.1"
42
- platform: ""
43
- client:
44
- type: mobile app
45
- name: AndroidDownloadManager
46
- version: "4.1.1"
47
- device:
48
- type: smartphone
49
- brand: MR
50
- model: MB886
51
- os_family: Android
52
- browser_family: Unknown
53
- -
54
- user_agent: com.google.android.youtube/2.4.4(Linux; U; Android 2.3.5; en_US; SCH-I500 Build/GINGERBREAD) gzip
55
- os:
56
- name: Android
57
- short_name: AND
58
- version: "2.3.5"
59
- platform: ""
60
- client:
61
- type: mobile app
62
- name: YouTube
63
- version: "2.4.4"
64
- device:
65
- type: smartphone
66
- brand: SA
67
- model: SCH-I500
68
- os_family: Android
69
- browser_family: Unknown
70
- -
71
- user_agent: NS/3.3.1 (Linux; U; Android 5.0.1; en-in; phone/Nexus 5 Build/LRX22C; Density/480; gzip) com.google.android.apps.magazines/2014102707
72
- os:
73
- name: Android
74
- short_name: AND
75
- version: "5.0.1"
76
- platform: ""
77
- client:
78
- type: mobile app
79
- name: Google Play Newsstand
80
- version: ""
81
- device:
82
- type: smartphone
83
- brand: GO
84
- model: Nexus 5
85
- os_family: Android
86
- browser_family: Unknown
87
- -
88
- user_agent: Mozilla/5.0 (iPad3,6; iPad; U; CPU OS 7_1 like Mac OS X; en_US) com.google.GooglePlus/33839 (KHTML, like Gecko) Mobile/P103AP (gzip)
89
- os:
90
- name: iOS
91
- short_name: IOS
92
- version: "7.1"
93
- platform: ""
94
- client:
95
- type: mobile app
96
- name: Google Plus
97
- version: ""
98
- device:
99
- type: tablet
100
- brand: AP
101
- model: iPad 4
102
- os_family: iOS
103
- browser_family: Unknown
104
- -
105
- user_agent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 [FBAN/MessengerForiOS;FBAV/132.0.0.41.90;FBBV/69171754;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iOS;FBSV/10.3.3;FBSS/2;FBCR/Koodo;FBID/phone;FBLC/en_US;FBOP/5;FBRV/0]'
106
- os:
107
- name: iOS
108
- short_name: IOS
109
- version: "10.3.3"
110
- platform: ""
111
- client:
112
- type: mobile app
113
- name: Facebook Messenger
114
- version: "132.0.0.41.90"
115
- device:
116
- type: smartphone
117
- brand: AP
118
- model: iPhone SE
119
- os_family: iOS
120
- browser_family: Unknown
121
- -
122
- user_agent: 'Mozilla/5.0 (iPad; CPU OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Mobile/14B100 [FBAN/MessengerForiOS;FBAV/122.0.0.40.69;FBBV/61279955;FBDV/iPad4,1;FBMD/iPad;FBSN/iOS;FBSV/10.1.1;FBSS/2;FBCR/;FBID/tablet;FBLC/vi_VN;FBOP/5;FBRV/0]'
123
- os:
124
- name: iOS
125
- short_name: IOS
126
- version: "10.1.1"
127
- platform: ""
128
- client:
129
- type: mobile app
130
- name: Facebook Messenger
131
- version: "122.0.0.40.69"
132
- device:
133
- type: tablet
134
- brand: AP
135
- model: iPad Air
136
- os_family: iOS
137
- browser_family: Unknown
138
- -
139
- user_agent: 'Mozilla/5.0 (Linux; Android 7.1.2; Nexus 5X Build/N2G47F; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 Mobile Safari/537.36 [FB_IAB/MESSENGER;FBAV/114.0.0.21.71;]'
140
- os:
141
- name: Android
142
- short_name: AND
143
- version: "7.1.2"
144
- platform: ""
145
- client:
146
- type: mobile app
147
- name: Facebook Messenger
148
- version: "114.0.0.21.71"
149
- device:
150
- type: smartphone
151
- brand: GO
152
- model: Nexus 5X
153
- os_family: Android
154
- browser_family: Unknown
155
- -
156
- user_agent: 'Mozilla/5.0 (Linux; Android 5.1.1; SM-T280 Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 Safari/537.36 [FB_IAB/MESSENGER;FBAV/112.0.0.17.70;]'
157
- os:
158
- name: Android
159
- short_name: AND
160
- version: "5.1.1"
161
- platform: ""
162
- client:
163
- type: mobile app
164
- name: Facebook Messenger
165
- version: "112.0.0.17.70"
166
- device:
167
- type: tablet
168
- brand: SA
169
- model: GALAXY Tab A 7.0" WiFi
170
- os_family: Android
171
- browser_family: Unknown
172
- -
173
- user_agent: '[FBAN/FB4A;FBAV/26.0.0.22.16;FBBV/6590638;FBDM/{density=1.5,width=791,height=480};FBLC/en_US;FBCR/SmarTone HK;FBMF/Sony;FBBD/Sony;FBPN/com.facebook.katana;FBDV/C1905;FBSV/4.1.2;FBOP/19;FBCA/armeabi-v7a:armeabi;]'
174
- os:
175
- name: Android
176
- short_name: AND
177
- version: "4.1.2"
178
- platform: ARM
179
- client:
180
- type: mobile app
181
- name: Facebook
182
- version: "26.0.0.22.16"
183
- device:
184
- type: smartphone
185
- brand: SO
186
- model: Xperia M
187
- os_family: Android
188
- browser_family: Unknown
189
- -
190
- user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508 Safari Line/5.9.5
191
- os:
192
- name: iOS
193
- short_name: IOS
194
- version: "8.2"
195
- platform: ""
196
- client:
197
- type: mobile app
198
- name: Line
199
- version: "5.9.5"
200
- device:
201
- type: smartphone
202
- brand: AP
203
- model: iPhone
204
- os_family: iOS
205
- browser_family: Unknown
206
- -
207
- user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_2_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13D15 Safari Line/5.10.0
208
- os:
209
- name: iOS
210
- short_name: IOS
211
- version: "9.2.1"
212
- platform: ""
213
- client:
214
- type: mobile app
215
- name: Line
216
- version: "5.10.0"
217
- device:
218
- type: smartphone
219
- brand: AP
220
- model: iPhone
221
- os_family: iOS
222
- browser_family: Unknown
223
- -
224
- user_agent: Podcat/8577 CFNetwork/711.3.18 Darwin/14.0.0
225
- os:
226
- name: iOS
227
- short_name: IOS
228
- version: "8.3"
229
- platform: ""
230
- client:
231
- type: mobile app
232
- name: Podcat
233
- version: "8577"
234
- device:
235
- type: ""
236
- brand: AP
237
- model: ""
238
- os_family: iOS
239
- browser_family: Unknown
240
- -
241
- user_agent: Podcat/1.1.4.14639 (iPhone; de-DE; iPhone OS 9.2.1)
242
- os:
243
- name: iOS
244
- short_name: IOS
245
- version: "9.2.1"
246
- platform: ""
247
- client:
248
- type: mobile app
249
- name: Podcat
250
- version: "1.1.4.14639"
251
- device:
252
- type: smartphone
253
- brand: AP
254
- model: iPhone
255
- os_family: iOS
256
- browser_family: Unknown
257
- -
258
- user_agent: PodcastRepublic/18.0 (Linux; U; Android 8.0.0;OnePlus3T/OPR1.170623.032)
259
- os:
260
- name: Android
261
- short_name: AND
262
- version: "8.0.0"
263
- platform: ""
264
- client:
265
- type: mobile app
266
- name: Podcast Republic
267
- version: "18.0"
268
- device:
269
- type: smartphone
270
- brand: 'ON'
271
- model: 3T
272
- os_family: Android
273
- browser_family: Unknown
274
- -
275
- user_agent: 'PodcastAddict/v2 - Dalvik/2.1.0 (Linux; U; Android 6.0; FEVER Build/MRA58K)'
276
- os:
277
- name: Android
278
- short_name: AND
279
- version: "6.0"
280
- platform: ""
281
- client:
282
- type: mobile app
283
- name: 'Podcast & Radio Addict'
284
- version: "2"
285
- device:
286
- type: smartphone
287
- brand: WI
288
- model: Fever
289
- os_family: Android
290
- browser_family: Unknown
291
- -
292
- user_agent: Podcatcher Deluxe
293
- os:
294
- name: Android
295
- short_name: AND
296
- version: ""
297
- platform: ""
298
- client:
299
- type: mobile app
300
- name: Podcatcher Deluxe
301
- version: ""
302
- device:
303
- type: ""
304
- brand: ""
305
- model: ""
306
- os_family: Android
307
- browser_family: Unknown
308
- -
309
- user_agent: iCatcher! Podcast Player/2.6.2
310
- os:
311
- name: iOS
312
- short_name: IOS
313
- version: ""
314
- platform: ""
315
- client:
316
- type: mobile app
317
- name: iCatcher
318
- version: "2.6.2"
319
- device:
320
- type: ""
321
- brand: AP
322
- model: ""
323
- os_family: iOS
324
- browser_family: Unknown
325
- -
326
- user_agent: icatcher/4535 CFNetwork/672.1.14 Darwin/14.0.0
327
- os:
328
- name: iOS
329
- short_name: IOS
330
- version: "7.1"
331
- platform: ""
332
- client:
333
- type: mobile app
334
- name: iCatcher
335
- version: "4535"
336
- device:
337
- type: ""
338
- brand: AP
339
- model: ""
340
- os_family: iOS
341
- browser_family: Unknown
342
- -
343
- user_agent: Castro 2 Episode Download
344
- os:
345
- name: iOS
346
- short_name: IOS
347
- version: ""
348
- platform: ""
349
- client:
350
- type: mobile app
351
- name: Castro 2
352
- version: ""
353
- device:
354
- type: ""
355
- brand: AP
356
- model: ""
357
- os_family: iOS
358
- browser_family: Unknown
359
- -
360
- user_agent: Castro 2 2.1.2/646 Like iTunes
361
- os:
362
- name: iOS
363
- short_name: IOS
364
- version: ""
365
- platform: ""
366
- client:
367
- type: mobile app
368
- name: Castro 2
369
- version: "2.1.2"
370
- device:
371
- type: ""
372
- brand: AP
373
- model: ""
374
- os_family: iOS
375
- browser_family: Unknown
376
- -
377
- user_agent: Player FM
378
- os:
379
- name: Android
380
- short_name: AND
381
- version: ""
382
- platform: ""
383
- client:
384
- type: mobile app
385
- name: Player FM
386
- version: ""
387
- device:
388
- type: ""
389
- brand: ""
390
- model: ""
391
- os_family: Android
392
- browser_family: Unknown
393
- -
394
- user_agent: okhttp/2.7.5
395
- os:
396
- name: Android
397
- short_name: AND
398
- version: ""
399
- platform: ""
400
- client:
401
- type: library
402
- name: OkHttp
403
- version: "2.7.5"
404
- device:
405
- type: ""
406
- brand: ""
407
- model: ""
408
- os_family: Android
409
- browser_family: Unknown
410
- -
411
- user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) News/582.1 Version/2.0
412
- os:
413
- name: iOS
414
- short_name: IOS
415
- version: "10.0"
416
- platform: ""
417
- client:
418
- type: mobile app
419
- name: Apple News
420
- version: "2.0"
421
- device:
422
- type: smartphone
423
- brand: AP
424
- model: iPhone
425
- os_family: iOS
426
- browser_family: Unknown
427
- -
428
- user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.43 (KHTML, like Gecko) AppleNews/607 Version/2.0
429
- os:
430
- name: iOS
431
- short_name: IOS
432
- version: "10.0"
433
- platform: ""
434
- client:
435
- type: mobile app
436
- name: Apple News
437
- version: "2.0"
438
- device:
439
- type: smartphone
440
- brand: AP
441
- model: iPhone
442
- os_family: iOS
443
- browser_family: Unknown
444
- -
445
- user_agent: YelpWebView/1.5 Android/7.0 YelpApp/9.10.0 (x-screen-scale 1.0;)
446
- os:
447
- name: Android
448
- short_name: AND
449
- version: "7.0"
450
- platform: ""
451
- client:
452
- type: mobile app
453
- name: Yelp Mobile
454
- version: "9.10.0"
455
- device:
456
- type: ""
457
- brand: ""
458
- model: ""
459
- os_family: Android
460
- browser_family: Unknown
461
- -
462
- user_agent: com.google.android.apps.searchlite/101032 (Linux; U; Android 8.1.0; ru_RU; M580; Build/O11019; Cronet/74.0.3729.182)
463
- os:
464
- name: Android
465
- short_name: AND
466
- version: "8.1.0"
467
- platform: ""
468
- client:
469
- type: mobile app
470
- name: Google Go
471
- version: ""
472
- device:
473
- type: ""
474
- brand: ""
475
- model: ""
476
- os_family: Android
477
- browser_family: Unknown
478
- -
479
- user_agent: CastBox/4.8.1 (fm.castbox.audiobook.radio.podcast; build:2; iOS 11.2.5)
480
- os:
481
- name: iOS
482
- short_name: IOS
483
- version: "11.2.5"
484
- platform: ""
485
- client:
486
- type: mobile app
487
- name: CastBox
488
- version: "4.8.1"
489
- device:
490
- type: ""
491
- brand: AP
492
- model: ""
493
- os_family: iOS
494
- browser_family: Unknown