device_detector 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: