device_detector 1.0.5 → 1.0.6

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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -6
  3. data/lib/device_detector/browser.rb +364 -0
  4. data/lib/device_detector/client.rb +8 -0
  5. data/lib/device_detector/device.rb +1124 -4
  6. data/lib/device_detector/os.rb +36 -11
  7. data/lib/device_detector/version.rb +1 -1
  8. data/lib/device_detector/version_extractor.rb +9 -0
  9. data/lib/device_detector.rb +57 -13
  10. data/regexes/bots.yml +551 -58
  11. data/regexes/client/browser_engine.yml +7 -1
  12. data/regexes/client/browsers.yml +594 -71
  13. data/regexes/client/feed_readers.yml +4 -10
  14. data/regexes/client/libraries.yml +47 -2
  15. data/regexes/client/mediaplayers.yml +25 -1
  16. data/regexes/client/mobile_apps.yml +447 -77
  17. data/regexes/client/pim.yml +49 -1
  18. data/regexes/device/cameras.yml +5 -5
  19. data/regexes/device/car_browsers.yml +16 -0
  20. data/regexes/device/consoles.yml +6 -0
  21. data/regexes/device/mobiles.yml +12905 -4561
  22. data/regexes/device/portable_media_player.yml +20 -3
  23. data/regexes/device/shell_tv.yml +117 -0
  24. data/regexes/device/televisions.yml +426 -35
  25. data/regexes/oss.yml +567 -139
  26. data/spec/device_detector/concrete_user_agent_spec.rb +30 -42
  27. data/spec/device_detector/detector_fixtures_spec.rb +9 -5
  28. data/spec/device_detector/device_spec.rb +26 -10
  29. data/spec/fixtures/client/browser.yml +1463 -391
  30. data/spec/fixtures/client/feed_reader.yml +0 -12
  31. data/spec/fixtures/client/library.yml +91 -37
  32. data/spec/fixtures/client/mediaplayer.yml +30 -0
  33. data/spec/fixtures/client/mobile_app.yml +498 -45
  34. data/spec/fixtures/client/pim.yml +60 -0
  35. data/spec/fixtures/detector/bots.yml +1189 -568
  36. data/spec/fixtures/detector/camera.yml +12 -26
  37. data/spec/fixtures/detector/car_browser.yml +151 -15
  38. data/spec/fixtures/detector/console.yml +70 -48
  39. data/spec/fixtures/detector/desktop.yml +2041 -916
  40. data/spec/fixtures/detector/feature_phone.yml +895 -189
  41. data/spec/fixtures/detector/feed_reader.yml +50 -77
  42. data/spec/fixtures/detector/mediaplayer.yml +79 -26
  43. data/spec/fixtures/detector/mobile_apps.yml +726 -72
  44. data/spec/fixtures/detector/peripheral.yml +271 -0
  45. data/spec/fixtures/detector/phablet.yml +3635 -1596
  46. data/spec/fixtures/detector/portable_media_player.yml +355 -46
  47. data/spec/fixtures/detector/smart_display.yml +183 -9
  48. data/spec/fixtures/detector/smart_speaker.yml +13 -8
  49. data/spec/fixtures/detector/smartphone-1.yml +4002 -4286
  50. data/spec/fixtures/detector/smartphone-10.yml +3771 -4763
  51. data/spec/fixtures/detector/smartphone-11.yml +3615 -4692
  52. data/spec/fixtures/detector/smartphone-12.yml +3856 -4764
  53. data/spec/fixtures/detector/smartphone-13.yml +4213 -4713
  54. data/spec/fixtures/detector/smartphone-14.yml +4039 -4497
  55. data/spec/fixtures/detector/smartphone-15.yml +5642 -2956
  56. data/spec/fixtures/detector/smartphone-16.yml +4739 -5082
  57. data/spec/fixtures/detector/smartphone-17.yml +4832 -4275
  58. data/spec/fixtures/detector/smartphone-18.yml +9806 -0
  59. data/spec/fixtures/detector/smartphone-19.yml +9965 -0
  60. data/spec/fixtures/detector/smartphone-2.yml +4842 -2589
  61. data/spec/fixtures/detector/smartphone-20.yml +9710 -0
  62. data/spec/fixtures/detector/smartphone-21.yml +8693 -0
  63. data/spec/fixtures/detector/smartphone-22.yml +10178 -0
  64. data/spec/fixtures/detector/smartphone-23.yml +9453 -0
  65. data/spec/fixtures/detector/smartphone-24.yml +9843 -0
  66. data/spec/fixtures/detector/smartphone-25.yml +9703 -0
  67. data/spec/fixtures/detector/smartphone-26.yml +10007 -0
  68. data/spec/fixtures/detector/smartphone-27.yml +4927 -0
  69. data/spec/fixtures/detector/smartphone-3.yml +4387 -4427
  70. data/spec/fixtures/detector/smartphone-4.yml +3597 -4582
  71. data/spec/fixtures/detector/smartphone-5.yml +4066 -5022
  72. data/spec/fixtures/detector/smartphone-6.yml +3455 -4621
  73. data/spec/fixtures/detector/smartphone-7.yml +3574 -4574
  74. data/spec/fixtures/detector/smartphone-8.yml +4617 -4704
  75. data/spec/fixtures/detector/smartphone-9.yml +4080 -5035
  76. data/spec/fixtures/detector/smartphone.yml +3244 -4234
  77. data/spec/fixtures/detector/tablet-1.yml +4652 -4492
  78. data/spec/fixtures/detector/tablet-2.yml +3515 -4434
  79. data/spec/fixtures/detector/tablet-3.yml +3418 -4351
  80. data/spec/fixtures/detector/tablet-4.yml +5149 -3200
  81. data/spec/fixtures/detector/tablet-5.yml +9273 -0
  82. data/spec/fixtures/detector/tablet-6.yml +4588 -0
  83. data/spec/fixtures/detector/tablet.yml +1621 -2613
  84. data/spec/fixtures/detector/tv-1.yml +2501 -0
  85. data/spec/fixtures/detector/tv.yml +7826 -3114
  86. data/spec/fixtures/detector/unknown.yml +370 -531
  87. data/spec/fixtures/detector/wearable.yml +863 -9
  88. data/spec/fixtures/parser/oss.yml +1350 -21
  89. data/spec/fixtures/parser/vendorfragments.yml +53 -53
  90. metadata +35 -5
@@ -3,19 +3,17 @@
3
3
  user_agent: Mozilla/5.0 (Linux; U; Android 2.3.3; ja-jp; COOLPIX S800c Build/CP01_WW) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
4
4
  os:
5
5
  name: Android
6
- short_name: AND
7
6
  version: "2.3.3"
8
7
  platform: ""
9
8
  client:
10
9
  type: browser
11
10
  name: Android Browser
12
- short_name: AN
13
11
  version: ""
14
12
  engine: WebKit
15
13
  engine_version: "533.1"
16
14
  device:
17
15
  type: camera
18
- brand: NN
16
+ brand: Nikon
19
17
  model: Coolpix S800c
20
18
  os_family: Android
21
19
  browser_family: Android Browser
@@ -23,19 +21,17 @@
23
21
  user_agent: Mozilla/5.0 (Linux; Android 5.0.2; DMC-CM1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36
24
22
  os:
25
23
  name: Android
26
- short_name: AND
27
24
  version: "5.0.2"
28
25
  platform: ""
29
26
  client:
30
27
  type: browser
31
28
  name: Chrome Mobile
32
- short_name: CM
33
29
  version: "77.0.3865.92"
34
30
  engine: Blink
35
31
  engine_version: ""
36
32
  device:
37
33
  type: camera
38
- brand: PA
34
+ brand: Panasonic
39
35
  model: Lumix DMC-CM1
40
36
  os_family: Android
41
37
  browser_family: Chrome
@@ -43,99 +39,89 @@
43
39
  user_agent: Mozilla/5.0 (Linux; U; Android 4.0; de-DE; EK-GC100 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
44
40
  os:
45
41
  name: Android
46
- short_name: AND
47
42
  version: "4.0"
48
43
  platform: ""
49
44
  client:
50
45
  type: browser
51
46
  name: Android Browser
52
- short_name: AN
53
47
  version: ""
54
48
  engine: WebKit
55
49
  engine_version: "534.30"
56
50
  device:
57
51
  type: camera
58
- brand: SA
59
- model: GALAXY Camera
52
+ brand: Samsung
53
+ model: Galaxy Camera
60
54
  os_family: Android
61
55
  browser_family: Android Browser
62
56
  -
63
57
  user_agent: Mozilla/5.0 (Linux; Android 4.1.2; EK-GC100 Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.63 Mobile Safari/537.36 OPR/15.0.1162.60140
64
58
  os:
65
59
  name: Android
66
- short_name: AND
67
60
  version: "4.1.2"
68
61
  platform: ""
69
62
  client:
70
63
  type: browser
71
64
  name: Opera Mobile
72
- short_name: OM
73
65
  version: "15.0.1162.60140"
74
66
  engine: Blink
75
67
  engine_version: ""
76
68
  device:
77
69
  type: camera
78
- brand: SA
79
- model: GALAXY Camera
70
+ brand: Samsung
71
+ model: Galaxy Camera
80
72
  os_family: Android
81
73
  browser_family: Opera
82
74
  -
83
75
  user_agent: Mozilla/5.0 (Linux; Android 4.3; EK-GC200 Build/JSS15J) AppleWebKit/537.36 (KHTML like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36
84
76
  os:
85
77
  name: Android
86
- short_name: AND
87
78
  version: "4.3"
88
79
  platform: ""
89
80
  client:
90
81
  type: browser
91
82
  name: Chrome Mobile
92
- short_name: CM
93
83
  version: "35.0.1916.141"
94
84
  engine: Blink
95
85
  engine_version: ""
96
86
  device:
97
87
  type: camera
98
- brand: SA
99
- model: GALAXY Camera 2
88
+ brand: Samsung
89
+ model: Galaxy Camera 2
100
90
  os_family: Android
101
91
  browser_family: Chrome
102
92
  -
103
93
  user_agent: Mozilla/5.0 (Linux; Android 4.1.2; EK-GC110 Build/JZO54K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19
104
94
  os:
105
95
  name: Android
106
- short_name: AND
107
96
  version: "4.1.2"
108
97
  platform: ""
109
98
  client:
110
99
  type: browser
111
100
  name: Chrome Mobile
112
- short_name: CM
113
101
  version: "18.0.1025.166"
114
102
  engine: WebKit
115
103
  engine_version: "535.19"
116
104
  device:
117
105
  type: camera
118
- brand: SA
119
- model: GALAXY Camera WiFi only
106
+ brand: Samsung
107
+ model: Galaxy Camera WiFi only
120
108
  os_family: Android
121
109
  browser_family: Chrome
122
110
  -
123
111
  user_agent: Mozilla/5.0 (Linux; Android 4.2.2; en-nz; SAMSUNG EK-GN120 Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Version/1.0 Chrome/18.0.1025.308 Mobile Safari/535.19
124
112
  os:
125
113
  name: Android
126
- short_name: AND
127
114
  version: "4.2.2"
128
115
  platform: ""
129
116
  client:
130
117
  type: browser
131
118
  name: Chrome Webview
132
- short_name: CV
133
119
  version: "18.0.1025.308"
134
120
  engine: WebKit
135
121
  engine_version: "535.19"
136
122
  device:
137
123
  type: camera
138
- brand: SA
139
- model: GALAXY NX
124
+ brand: Samsung
125
+ model: Galaxy NX
140
126
  os_family: Android
141
127
  browser_family: Chrome
@@ -3,79 +3,215 @@
3
3
  user_agent: Mozilla/5.0 (Linux; Android 4.4.2; CarPad-II-P Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36
4
4
  os:
5
5
  name: Android
6
- short_name: AND
7
6
  version: "4.4.2"
8
7
  platform: ""
9
8
  client:
10
9
  type: browser
11
10
  name: Chrome Webview
12
- short_name: CV
13
11
  version: "30.0.0.0"
14
12
  engine: Blink
15
13
  engine_version: ""
16
14
  device:
17
15
  type: car browser
18
- brand: NS
16
+ brand: NewsMy
19
17
  model: CarPad-II-P
20
18
  os_family: Android
21
19
  browser_family: Chrome
22
- -
20
+ -
23
21
  user_agent: Mozilla/5.0 (Linux; Android 4.4.2; CarPad-III-P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.116 Safari/537.36
24
22
  os:
25
23
  name: Android
26
- short_name: AND
27
24
  version: "4.4.2"
28
25
  platform: ""
29
26
  client:
30
27
  type: browser
31
28
  name: Chrome
32
- short_name: CH
33
29
  version: "77.0.3865.116"
34
30
  engine: Blink
35
31
  engine_version: ""
36
32
  device:
37
33
  type: car browser
38
- brand: NS
34
+ brand: NewsMy
39
35
  model: CarPad-III-P
40
36
  os_family: Android
41
37
  browser_family: Chrome
42
- -
38
+ -
43
39
  user_agent: Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/75.0.3770.100 Chrome/75.0.3770.100 Safari/537.36 Tesla/2019.40.50.7-ad132c7b057e
44
40
  os:
45
41
  name: GNU/Linux
46
- short_name: LIN
47
42
  version: ""
48
43
  platform: ""
49
44
  client:
50
45
  type: browser
51
46
  name: Chromium
52
- short_name: CR
53
47
  version: "75.0.3770.100"
54
48
  engine: Blink
55
49
  engine_version: ""
56
50
  device:
57
51
  type: car browser
58
- brand: TA
52
+ brand: Tesla
59
53
  model: ""
60
54
  os_family: GNU/Linux
61
55
  browser_family: Chrome
62
- -
56
+ -
63
57
  user_agent: Mozilla/5.0 (X11; u; Linux; C) AppleWebKit /533.3 (Khtml, like Gheko) QtCarBrowser Safari/533.3
64
58
  os:
65
59
  name: GNU/Linux
66
- short_name: LIN
67
60
  version: ""
68
61
  platform: ""
69
62
  client:
70
63
  type: browser
71
64
  name: Safari
72
- short_name: SF
73
65
  version: ""
74
66
  engine: WebKit
75
67
  engine_version: "533.3"
76
68
  device:
77
69
  type: car browser
78
- brand: TA
70
+ brand: Tesla
79
71
  model: Model S
80
72
  os_family: GNU/Linux
81
73
  browser_family: Safari
74
+ -
75
+ user_agent: Mozilla/5.0 (Linux; Android 7.1.2; UltraOcta-T8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.81 Safari/537.36
76
+ os:
77
+ name: Android
78
+ version: 7.1.2
79
+ platform: ""
80
+ client:
81
+ type: browser
82
+ name: Chrome
83
+ version: 85.0.4183.81
84
+ engine: Blink
85
+ engine_version: ""
86
+ device:
87
+ type: car browser
88
+ brand: Allwinner
89
+ model: Ultra Octa T8
90
+ os_family: Android
91
+ browser_family: Chrome
92
+ -
93
+ user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; ru-ru; KZCAR Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
94
+ os:
95
+ name: Android
96
+ version: 4.1.1
97
+ platform: ""
98
+ client:
99
+ type: browser
100
+ name: Android Browser
101
+ version: ""
102
+ engine: WebKit
103
+ engine_version: "534.30"
104
+ device:
105
+ type: car browser
106
+ brand: INCAR
107
+ model: KZCAR
108
+ os_family: Android
109
+ browser_family: Android Browser
110
+ -
111
+ user_agent: Mozilla/5.0 (Linux; Android 11.0.0; Mac Audio Spro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Safari/537.36
112
+ os:
113
+ name: Android
114
+ version: 11.0.0
115
+ platform: ""
116
+ client:
117
+ type: browser
118
+ name: Chrome
119
+ version: 89.0.4389.105
120
+ engine: Blink
121
+ engine_version: ""
122
+ device:
123
+ type: car browser
124
+ brand: MAC AUDIO
125
+ model: S Pro
126
+ os_family: Android
127
+ browser_family: Chrome
128
+ -
129
+ user_agent: Mozilla/5.0 (Linux; Android 11; OCTA-CORE T8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.181 Safari/537.36
130
+ os:
131
+ name: Android
132
+ version: "11"
133
+ platform: ""
134
+ client:
135
+ type: browser
136
+ name: Chrome
137
+ version: 88.0.4324.181
138
+ engine: Blink
139
+ engine_version: ""
140
+ device:
141
+ type: car browser
142
+ brand: Allwinner
143
+ model: OCTA-CORE T8
144
+ os_family: Android
145
+ browser_family: Chrome
146
+ -
147
+ user_agent: Mozilla/5.0 (Linux; Android 8.1.0; sp9853i_1h10_vmm) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Safari/537.36
148
+ os:
149
+ name: Android
150
+ version: 8.1.0
151
+ platform: ""
152
+ client:
153
+ type: browser
154
+ name: Chrome
155
+ version: 85.0.4183.101
156
+ engine: Blink
157
+ engine_version: ""
158
+ device:
159
+ type: car browser
160
+ brand: Topway
161
+ model: TS9
162
+ os_family: Android
163
+ browser_family: Chrome
164
+ -
165
+ user_agent: Mozilla/5.0 (Linux; Android 9; OCTOPUS-CORE T8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Safari/537.36
166
+ os:
167
+ name: Android
168
+ version: "9"
169
+ platform: ""
170
+ client:
171
+ type: browser
172
+ name: Chrome
173
+ version: 90.0.4430.91
174
+ engine: Blink
175
+ engine_version: ""
176
+ device:
177
+ type: car browser
178
+ brand: Allwinner
179
+ model: OCTOPUS-CORE T8
180
+ os_family: Android
181
+ browser_family: Chrome
182
+ -
183
+ user_agent: Mozilla/5.0 (Linux; Android 5.1.1; QuadCore-R16) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.116 Safari/537.36
184
+ os:
185
+ name: Android
186
+ version: 5.1.1
187
+ platform: ""
188
+ client:
189
+ type: browser
190
+ name: Chrome
191
+ version: 77.0.3865.116
192
+ engine: Blink
193
+ engine_version: ""
194
+ device:
195
+ type: car browser
196
+ brand: Allwinner
197
+ model: QUAD-CORE R16
198
+ os_family: Android
199
+ browser_family: Chrome
200
+ -
201
+ user_agent: Mozilla/5.0 (Linux; Android 8.1.0; QUAD-CORE T3 k2001o nwd) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.210 Safari/537.36
202
+ os:
203
+ name: Android
204
+ version: 8.1.0
205
+ platform: ""
206
+ client:
207
+ type: browser
208
+ name: Chrome
209
+ version: 90.0.4430.210
210
+ engine: Blink
211
+ engine_version: ""
212
+ device:
213
+ type: car browser
214
+ brand: Allwinner
215
+ model: QUAD-CORE T3 K2001O
216
+ os_family: Android
217
+ browser_family: Chrome