device_detector 1.0.2 → 1.0.3

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -5
  3. data/CHANGELOG.md +3 -0
  4. data/README.md +5 -5
  5. data/Rakefile +13 -0
  6. data/lib/device_detector/version.rb +1 -1
  7. data/regexes/bots.yml +89 -2
  8. data/regexes/client/browser_engine.yml +3 -0
  9. data/regexes/client/browsers.yml +325 -76
  10. data/regexes/client/feed_readers.yml +6 -0
  11. data/regexes/client/libraries.yml +9 -0
  12. data/regexes/client/mobile_apps.yml +40 -1
  13. data/regexes/client/pim.yml +5 -0
  14. data/regexes/device/mobiles.yml +1607 -431
  15. data/regexes/oss.yml +1 -1
  16. data/regexes/vendorfragments.yml +1 -1
  17. data/spec/device_detector/concrete_user_agent_spec.rb +16 -17
  18. data/spec/device_detector/device_spec.rb +25 -25
  19. data/spec/device_detector/memory_cache_spec.rb +19 -19
  20. data/spec/device_detector/model_extractor_spec.rb +3 -3
  21. data/spec/device_detector/version_extractor_spec.rb +5 -6
  22. data/spec/device_detector_spec.rb +26 -26
  23. data/spec/fixtures/client/browser.yml +655 -322
  24. data/spec/fixtures/client/feed_reader.yml +39 -45
  25. data/spec/fixtures/client/library.yml +24 -11
  26. data/spec/fixtures/client/mediaplayer.yml +29 -28
  27. data/spec/fixtures/client/mobile_app.yml +100 -41
  28. data/spec/fixtures/client/pim.yml +32 -19
  29. data/spec/fixtures/detector/bots.yml +140 -23
  30. data/spec/fixtures/detector/camera.yml +2 -2
  31. data/spec/fixtures/detector/console.yml +3 -3
  32. data/spec/fixtures/detector/desktop.yml +312 -73
  33. data/spec/fixtures/detector/feature_phone.yml +48 -0
  34. data/spec/fixtures/detector/feed_reader.yml +141 -126
  35. data/spec/fixtures/detector/mediaplayer.yml +39 -38
  36. data/spec/fixtures/detector/mobile_apps.yml +86 -85
  37. data/spec/fixtures/detector/phablet.yml +715 -236
  38. data/spec/fixtures/detector/portable_media_player.yml +17 -0
  39. data/spec/fixtures/detector/smartphone-1.yml +3534 -3512
  40. data/spec/fixtures/detector/smartphone-10.yml +3848 -6286
  41. data/spec/fixtures/detector/smartphone-11.yml +5548 -3298
  42. data/spec/fixtures/detector/smartphone-12.yml +8655 -0
  43. data/spec/fixtures/detector/smartphone-2.yml +3645 -3625
  44. data/spec/fixtures/detector/smartphone-3.yml +4099 -4176
  45. data/spec/fixtures/detector/smartphone-4.yml +3861 -3865
  46. data/spec/fixtures/detector/smartphone-5.yml +3991 -4037
  47. data/spec/fixtures/detector/smartphone-6.yml +4074 -4047
  48. data/spec/fixtures/detector/smartphone-7.yml +4355 -4362
  49. data/spec/fixtures/detector/smartphone-8.yml +4087 -4136
  50. data/spec/fixtures/detector/smartphone-9.yml +4420 -4408
  51. data/spec/fixtures/detector/smartphone.yml +2900 -2904
  52. data/spec/fixtures/detector/tablet-1.yml +3946 -3912
  53. data/spec/fixtures/detector/tablet-2.yml +3593 -3617
  54. data/spec/fixtures/detector/tablet-3.yml +2738 -85
  55. data/spec/fixtures/detector/tablet.yml +3604 -3616
  56. data/spec/fixtures/detector/tv.yml +131 -51
  57. data/spec/fixtures/detector/unknown.yml +64 -27
  58. data/spec/fixtures/device/camera.yml +4 -3
  59. data/spec/fixtures/device/car_browser.yml +3 -2
  60. data/spec/fixtures/device/console.yml +15 -14
  61. metadata +4 -2
@@ -115,6 +115,66 @@
115
115
  model: Web TV
116
116
  os_family: WebTV
117
117
  browser_family: Internet Explorer
118
+ -
119
+ user_agent: Mozilla/5.0 (Linux; Android 7.1.1; BB2 PRO Build/NHG47L; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.100 Safari/537.36
120
+ os:
121
+ name: Android
122
+ short_name: AND
123
+ version: "7.1.1"
124
+ platform: ""
125
+ client:
126
+ type: browser
127
+ name: Chrome Webview
128
+ short_name: CV
129
+ version: "52.0.2743.100"
130
+ engine: Blink
131
+ engine_version: ""
132
+ device:
133
+ type: tv
134
+ brand: 0M
135
+ model: BB2 Pro
136
+ os_family: Android
137
+ browser_family: Chrome
138
+ -
139
+ user_agent: Mozilla/5.0 (Linux; Android 5.1.1; KII PRO Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Safari/537.36
140
+ os:
141
+ name: Android
142
+ short_name: AND
143
+ version: "5.1.1"
144
+ platform: ""
145
+ client:
146
+ type: browser
147
+ name: Chrome Webview
148
+ short_name: CV
149
+ version: "39.0.0.0"
150
+ engine: Blink
151
+ engine_version: ""
152
+ device:
153
+ type: tv
154
+ brand: 0M
155
+ model: KII Pro
156
+ os_family: Android
157
+ browser_family: Chrome
158
+ -
159
+ user_agent: Mozilla/5.0 (Linux; Android 9; KM9PRO) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36
160
+ os:
161
+ name: Android
162
+ short_name: AND
163
+ version: "9"
164
+ platform: ""
165
+ client:
166
+ type: browser
167
+ name: Chrome Mobile
168
+ short_name: CM
169
+ version: "75.0.3770.143"
170
+ engine: Blink
171
+ engine_version: ""
172
+ device:
173
+ type: tv
174
+ brand: 0M
175
+ model: KM9 Pro
176
+ os_family: Android
177
+ browser_family: Chrome
118
178
  -
119
179
  user_agent: Opera/9.80 (Linux mips; Opera TV Store/6162; HbbTV/1.2.1 (; Altech UEC; PVR9600; ; ; )) Presto/2.12.407 Version/12.51 Model/AltechMultimedia-TestingDevice
120
180
  os:
@@ -168,6 +228,20 @@
168
228
  model: Apple TV
169
229
  os_family: Unknown
170
230
  browser_family: Unknown
231
+ -
232
+ user_agent: AppleCoreMedia/1.0.0.12B466 (Apple TV; U; CPU OS 8_1_3 like Mac OS X; en_us)
233
+ os:
234
+ name: iOS
235
+ short_name: IOS
236
+ version: "8.1.3"
237
+ platform: ""
238
+ client: null
239
+ device:
240
+ type: tv
241
+ brand: AP
242
+ model: Apple TV
243
+ os_family: iOS
244
+ browser_family: Unknown
171
245
  -
172
246
  user_agent: XBMC/PRE-11.0 Git:20110623-62171b3 (iOS; 11.0.0 AppleTV2,1; http://www.xbmc.org)
173
247
  os:
@@ -182,31 +256,17 @@
182
256
  device:
183
257
  type: tv
184
258
  brand: AP
185
- model: Apple TV
259
+ model: Apple TV 2
186
260
  os_family: Apple TV
187
261
  browser_family: Unknown
188
- -
189
- user_agent: AppleCoreMedia/1.0.0.12B466 (Apple TV; U; CPU OS 8_1_3 like Mac OS X; en_us)
190
- os:
191
- name: iOS
192
- short_name: IOS
193
- version: "8.1.3"
194
- platform: ""
195
- client: null
196
- device:
197
- type: tv
198
- brand: AP
199
- model: Apple TV
200
- os_family: iOS
201
- browser_family: Unknown
202
262
  -
203
263
  user_agent: 'OPR/22.0.1481.0 OMI/4.2.12.29, KreaTV/0.0.0.0 (ARRIS, IPC1100, wired)CM[00.01]'
204
264
  os: [ ]
205
265
  client:
206
266
  type: browser
207
- name: Opera
208
- short_name: OP
209
- version: "22.0.1481.0"
267
+ name: Opera Devices
268
+ short_name: OH
269
+ version: "4.2.12.29"
210
270
  engine: Blink
211
271
  engine_version: ""
212
272
  device:
@@ -220,9 +280,9 @@
220
280
  os: [ ]
221
281
  client:
222
282
  type: browser
223
- name: Opera
224
- short_name: OP
225
- version: "19.0.1325.0"
283
+ name: Opera Devices
284
+ short_name: OH
285
+ version: "4.1.4.54"
226
286
  engine: Blink
227
287
  engine_version: ""
228
288
  device:
@@ -998,8 +1058,8 @@
998
1058
  platform: ""
999
1059
  client:
1000
1060
  type: browser
1001
- name: Chrome Mobile
1002
- short_name: CM
1061
+ name: Chrome Webview
1062
+ short_name: CV
1003
1063
  version: "34.0.0.0"
1004
1064
  engine: Blink
1005
1065
  engine_version: ""
@@ -1018,8 +1078,8 @@
1018
1078
  platform: ""
1019
1079
  client:
1020
1080
  type: browser
1021
- name: Chrome
1022
- short_name: CH
1081
+ name: Chrome Webview
1082
+ short_name: CV
1023
1083
  version: "49.0.2623.10"
1024
1084
  engine: Blink
1025
1085
  engine_version: ""
@@ -1038,8 +1098,8 @@
1038
1098
  platform: ""
1039
1099
  client:
1040
1100
  type: browser
1041
- name: Chrome
1042
- short_name: CH
1101
+ name: Chrome Webview
1102
+ short_name: CV
1043
1103
  version: "55.0.28"
1044
1104
  engine: Blink
1045
1105
  engine_version: ""
@@ -1218,11 +1278,11 @@
1218
1278
  platform: ""
1219
1279
  client:
1220
1280
  type: browser
1221
- name: Chrome
1222
- short_name: CH
1223
- version: "38.0.2125.122"
1224
- engine: Blink
1225
- engine_version: ""
1281
+ name: QtWebEngine
1282
+ short_name: QW
1283
+ version: "5.2.1"
1284
+ engine: WebKit
1285
+ engine_version: "537.36"
1226
1286
  device:
1227
1287
  type: tv
1228
1288
  brand: LG
@@ -1924,8 +1984,8 @@
1924
1984
  platform: ""
1925
1985
  client:
1926
1986
  type: browser
1927
- name: Chrome
1928
- short_name: CH
1987
+ name: Chrome Webview
1988
+ short_name: CV
1929
1989
  version: "74.0.3729.136"
1930
1990
  engine: Blink
1931
1991
  engine_version: ""
@@ -1935,6 +1995,26 @@
1935
1995
  model: Box X99
1936
1996
  os_family: Android
1937
1997
  browser_family: Chrome
1998
+ -
1999
+ user_agent: Mozilla/5.0 (Linux; Android 7.1.2; SSQ-A0500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Safari/537.36
2000
+ os:
2001
+ name: Android
2002
+ short_name: AND
2003
+ version: "7.1.2"
2004
+ platform: ""
2005
+ client:
2006
+ type: browser
2007
+ name: Chrome
2008
+ short_name: CH
2009
+ version: "75.0.3770.143"
2010
+ engine: Blink
2011
+ engine_version: ""
2012
+ device:
2013
+ type: tv
2014
+ brand: R3
2015
+ model: Smart Stick 4K
2016
+ os_family: Android
2017
+ browser_family: Chrome
1938
2018
  -
1939
2019
  user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; tr-tr; MK808 Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
1940
2020
  os:
@@ -2508,9 +2588,9 @@
2508
2588
  platform: ARM
2509
2589
  client:
2510
2590
  type: browser
2511
- name: Opera
2512
- short_name: OP
2513
- version: "22.0.1481.0"
2591
+ name: Opera Devices
2592
+ short_name: OH
2593
+ version: "4.2.12.48"
2514
2594
  engine: Blink
2515
2595
  engine_version: ""
2516
2596
  device:
@@ -2528,9 +2608,9 @@
2528
2608
  platform: ARM
2529
2609
  client:
2530
2610
  type: browser
2531
- name: Opera
2532
- short_name: OP
2533
- version: "29.0.1803.0"
2611
+ name: Opera Devices
2612
+ short_name: OH
2613
+ version: "4.5.23.37"
2534
2614
  engine: Blink
2535
2615
  engine_version: ""
2536
2616
  device:
@@ -2568,9 +2648,9 @@
2568
2648
  platform: ARM
2569
2649
  client:
2570
2650
  type: browser
2571
- name: Opera
2572
- short_name: OP
2573
- version: "22.0.1481.0"
2651
+ name: Opera Devices
2652
+ short_name: OH
2653
+ version: "4.2.12.48"
2574
2654
  engine: Blink
2575
2655
  engine_version: ""
2576
2656
  device:
@@ -3140,8 +3220,8 @@
3140
3220
  platform: ""
3141
3221
  client:
3142
3222
  type: browser
3143
- name: Chrome
3144
- short_name: CH
3223
+ name: Chrome Webview
3224
+ short_name: CV
3145
3225
  version: "44.0.2403.119"
3146
3226
  engine: Blink
3147
3227
  engine_version: ""
@@ -3160,8 +3240,8 @@
3160
3240
  platform: ""
3161
3241
  client:
3162
3242
  type: browser
3163
- name: Chrome
3164
- short_name: CH
3243
+ name: Chrome Webview
3244
+ short_name: CV
3165
3245
  version: "44.0.2403.119"
3166
3246
  engine: Blink
3167
3247
  engine_version: ""
@@ -3200,8 +3280,8 @@
3200
3280
  platform: ""
3201
3281
  client:
3202
3282
  type: browser
3203
- name: Chrome
3204
- short_name: CH
3283
+ name: Chrome Webview
3284
+ short_name: CV
3205
3285
  version: "72.0.3626.105"
3206
3286
  engine: Blink
3207
3287
  engine_version: ""
@@ -3240,8 +3320,8 @@
3240
3320
  platform: ""
3241
3321
  client:
3242
3322
  type: browser
3243
- name: Chrome
3244
- short_name: CH
3323
+ name: Chrome Webview
3324
+ short_name: CV
3245
3325
  version: "39.0.0.0"
3246
3326
  engine: Blink
3247
3327
  engine_version: ""
@@ -2296,26 +2296,6 @@
2296
2296
  model: ""
2297
2297
  os_family: Android
2298
2298
  browser_family: Android Browser
2299
- -
2300
- user_agent: Mozilla/5.0 (Linux; U; Android 4.0.4; ru-ru; TS9708B Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2301
- os:
2302
- name: Android
2303
- short_name: AND
2304
- version: "4.0.4"
2305
- platform: ""
2306
- client:
2307
- type: browser
2308
- name: Android Browser
2309
- short_name: AN
2310
- version: ""
2311
- engine: WebKit
2312
- engine_version: "534.30"
2313
- device:
2314
- type: ""
2315
- brand: ""
2316
- model: ""
2317
- os_family: Android
2318
- browser_family: Android Browser
2319
2299
  -
2320
2300
  user_agent: Mozilla/5.0 (Linux; U; Android 4.0.4; th-th; TP710 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2321
2301
  os:
@@ -2777,7 +2757,7 @@
2777
2757
  os_family: Android
2778
2758
  browser_family: Android Browser
2779
2759
  -
2780
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; ru-ru; RMD-1026 Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2760
+ user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2781
2761
  os:
2782
2762
  name: Android
2783
2763
  short_name: AND
@@ -2797,7 +2777,7 @@
2797
2777
  os_family: Android
2798
2778
  browser_family: Android Browser
2799
2779
  -
2800
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2780
+ user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; ifive MX Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2801
2781
  os:
2802
2782
  name: Android
2803
2783
  short_name: AND
@@ -2817,7 +2797,7 @@
2817
2797
  os_family: Android
2818
2798
  browser_family: Android Browser
2819
2799
  -
2820
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; ifive MX Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2800
+ user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; N12GJ-QZ Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
2821
2801
  os:
2822
2802
  name: Android
2823
2803
  short_name: AND
@@ -2837,7 +2817,7 @@
2837
2817
  os_family: Android
2838
2818
  browser_family: Android Browser
2839
2819
  -
2840
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; N12GJ-QZ Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
2820
+ user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-tw; HD3 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
2841
2821
  os:
2842
2822
  name: Android
2843
2823
  short_name: AND
@@ -2857,11 +2837,11 @@
2857
2837
  os_family: Android
2858
2838
  browser_family: Android Browser
2859
2839
  -
2860
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-tw; HD3 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
2840
+ user_agent: Mozilla/5.0 (Linux; U; Android 4.2.2; ru-ru; Alcor Zest Q813IS Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2861
2841
  os:
2862
2842
  name: Android
2863
2843
  short_name: AND
2864
- version: "4.1.1"
2844
+ version: "4.2.2"
2865
2845
  platform: ""
2866
2846
  client:
2867
2847
  type: browser
@@ -2878,24 +2858,81 @@
2878
2858
  browser_family: Android Browser
2879
2859
  -
2880
2860
  user_agent: Mozilla/5.0 (Linux; U; Android 4.4.2; zh-cn; X5 R1 Build/KOT49H) AppleWebKit/534.24 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.24 T5/2.0 baiduboxapp/6.7 (Baidu; P1 4.4.2)
2861
+ os:
2862
+ name: Android
2863
+ short_name: AND
2864
+ version: "4.4.2"
2865
+ platform: ""
2866
+ client:
2867
+ type: mobile app
2868
+ name: Baidu Box App
2869
+ version: "6.7"
2870
+ device:
2871
+ type: ""
2872
+ brand: ""
2873
+ model: ""
2874
+ os_family: Android
2875
+ browser_family: Unknown
2876
+ -
2877
+ user_agent: Mozilla/5.0 (Linux; Android 4.4.2; Florida Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36
2881
2878
  os:
2882
2879
  name: Android
2883
2880
  short_name: AND
2884
2881
  version: "4.4.2"
2885
2882
  platform: ""
2883
+ client:
2884
+ type: browser
2885
+ name: Chrome Webview
2886
+ short_name: CV
2887
+ version: "30.0.0.0"
2888
+ engine: Blink
2889
+ engine_version: ""
2890
+ device:
2891
+ type: ""
2892
+ brand: ""
2893
+ model: ""
2894
+ os_family: Android
2895
+ browser_family: Chrome
2896
+ -
2897
+ user_agent: 'Dalvik/2.1.0 (Linux## U## Android 7.1.1## Chromebook 14 (CB3-431) Build/R63-10032.86.0)'
2898
+ os:
2899
+ name: Android
2900
+ short_name: AND
2901
+ version: "7.1.1"
2902
+ platform: ""
2886
2903
  client:
2887
2904
  type: browser
2888
2905
  name: Android Browser
2889
2906
  short_name: AN
2890
2907
  version: ""
2891
2908
  engine: WebKit
2892
- engine_version: "534.24"
2909
+ engine_version: ""
2893
2910
  device:
2894
2911
  type: ""
2895
2912
  brand: ""
2896
2913
  model: ""
2897
2914
  os_family: Android
2898
2915
  browser_family: Android Browser
2916
+ -
2917
+ user_agent: Mozilla/5.0 (Linux; Android 9) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.92 Mobile Safari/537.36 DuckDuckGo/5
2918
+ os:
2919
+ name: Android
2920
+ short_name: AND
2921
+ version: "9"
2922
+ platform: ""
2923
+ client:
2924
+ type: browser
2925
+ name: DuckDuckGo Privacy Browser
2926
+ short_name: DD
2927
+ version: "5"
2928
+ engine: Blink
2929
+ engine_version: ""
2930
+ device:
2931
+ type: ""
2932
+ brand: ""
2933
+ model: ""
2934
+ os_family: Android
2935
+ browser_family: Chrome
2899
2936
  -
2900
2937
  user_agent: bPod
2901
2938
  os: