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 4.0.4; fr-be; DA220HQL Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
4
4
  os:
5
5
  name: Android
6
- short_name: AND
7
6
  version: "4.0.4"
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: "534.30"
16
14
  device:
17
15
  type: smart display
18
- brand: AC
16
+ brand: Acer
19
17
  model: DA220HQL
20
18
  os_family: Android
21
19
  browser_family: Android Browser
@@ -23,19 +21,17 @@
23
21
  user_agent: Mozilla/5.0 (Linux; Android 4.2.1; DA241HL Build/JOP40D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Safari/537.36
24
22
  os:
25
23
  name: Android
26
- short_name: AND
27
24
  version: "4.2.1"
28
25
  platform: ""
29
26
  client:
30
27
  type: browser
31
28
  name: Chrome
32
- short_name: CH
33
29
  version: "34.0.1847.114"
34
30
  engine: Blink
35
31
  engine_version: ""
36
32
  device:
37
33
  type: smart display
38
- brand: AC
34
+ brand: Acer
39
35
  model: DA241HL
40
36
  os_family: Android
41
37
  browser_family: Chrome
@@ -43,19 +39,197 @@
43
39
  user_agent: Mozilla/5.0 (Linux; U; Android 4.0.4; de-de; VSD220 Build/IMM76D.UI23ED12_VSC) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
44
40
  os:
45
41
  name: Android
46
- short_name: AND
47
42
  version: "4.0.4"
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: smart display
58
- brand: VS
52
+ brand: ViewSonic
59
53
  model: VSD220
60
54
  os_family: Android
61
55
  browser_family: Android Browser
56
+ -
57
+ user_agent: Mozilla/5.0 (Linux; Android 8.0.0; IFP7550-3 Build/OPR5.170623.014) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Safari/537.36
58
+ os:
59
+ name: Android
60
+ version: 8.0.0
61
+ platform: ""
62
+ client:
63
+ type: browser
64
+ name: Chrome Webview
65
+ version: 61.0.3163.98
66
+ engine: Blink
67
+ engine_version: ""
68
+ device:
69
+ type: smart display
70
+ brand: ViewSonic
71
+ model: ViewBoard IFP7550-3 75" 4K
72
+ os_family: Android
73
+ browser_family: Chrome
74
+ -
75
+ user_agent: Mozilla/5.0 (Linux; Android 8.0.0; IFP9850-3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3739.0 Safari/537.36
76
+ os:
77
+ name: Android
78
+ version: 8.0.0
79
+ platform: ""
80
+ client:
81
+ type: browser
82
+ name: Chrome
83
+ version: 75.0.3739.0
84
+ engine: Blink
85
+ engine_version: ""
86
+ device:
87
+ type: smart display
88
+ brand: ViewSonic
89
+ model: ViewBoard IFP9850-3 98" 4K
90
+ os_family: Android
91
+ browser_family: Chrome
92
+ -
93
+ user_agent: Mozilla/5.0 (Linux; Android 8.0.0; IFP8650-3 Build/OPR5.170623.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Safari/537.36
94
+ os:
95
+ name: Android
96
+ version: 8.0.0
97
+ platform: ""
98
+ client:
99
+ type: browser
100
+ name: Chrome Webview
101
+ version: 61.0.3163.98
102
+ engine: Blink
103
+ engine_version: ""
104
+ device:
105
+ type: smart display
106
+ brand: ViewSonic
107
+ model: ViewBoard IFP8650-3 86" 4K
108
+ os_family: Android
109
+ browser_family: Chrome
110
+ -
111
+ user_agent: Mozilla/5.0 (Linux; Android 8.0.0; IFP6550-3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.85 Safari/537.36
112
+ os:
113
+ name: Android
114
+ version: 8.0.0
115
+ platform: ""
116
+ client:
117
+ type: browser
118
+ name: Chrome
119
+ version: 76.0.3809.85
120
+ engine: Blink
121
+ engine_version: ""
122
+ device:
123
+ type: smart display
124
+ brand: ViewSonic
125
+ model: ViewBoard IFP6550-3 65" 4K
126
+ os_family: Android
127
+ browser_family: Chrome
128
+ -
129
+ user_agent: Mozilla/5.0 (Linux; Android 8.0.0; IFP7550-3 Build/OPR5.170623.014) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Safari/537.36
130
+ os:
131
+ name: Android
132
+ version: 8.0.0
133
+ platform: ""
134
+ client:
135
+ type: browser
136
+ name: Chrome Webview
137
+ version: 61.0.3163.98
138
+ engine: Blink
139
+ engine_version: ""
140
+ device:
141
+ type: smart display
142
+ brand: ViewSonic
143
+ model: ViewBoard IFP7550-3 75" 4K
144
+ os_family: Android
145
+ browser_family: Chrome
146
+ -
147
+ user_agent: Mozilla/5.0 (Linux; Android 8.0.0; IFP9850-3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3739.0 Safari/537.36
148
+ os:
149
+ name: Android
150
+ version: 8.0.0
151
+ platform: ""
152
+ client:
153
+ type: browser
154
+ name: Chrome
155
+ version: 75.0.3739.0
156
+ engine: Blink
157
+ engine_version: ""
158
+ device:
159
+ type: smart display
160
+ brand: ViewSonic
161
+ model: ViewBoard IFP9850-3 98" 4K
162
+ os_family: Android
163
+ browser_family: Chrome
164
+ -
165
+ user_agent: Mozilla/5.0 (Linux; Android 8.0.0; IFP8650-3 Build/OPR5.170623.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Safari/537.36
166
+ os:
167
+ name: Android
168
+ version: 8.0.0
169
+ platform: ""
170
+ client:
171
+ type: browser
172
+ name: Chrome Webview
173
+ version: 61.0.3163.98
174
+ engine: Blink
175
+ engine_version: ""
176
+ device:
177
+ type: smart display
178
+ brand: ViewSonic
179
+ model: ViewBoard IFP8650-3 86" 4K
180
+ os_family: Android
181
+ browser_family: Chrome
182
+ -
183
+ user_agent: Mozilla/5.0 (Linux; Android 8.0.0; IFP6550-3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.85 Safari/537.36
184
+ os:
185
+ name: Android
186
+ version: 8.0.0
187
+ platform: ""
188
+ client:
189
+ type: browser
190
+ name: Chrome
191
+ version: 76.0.3809.85
192
+ engine: Blink
193
+ engine_version: ""
194
+ device:
195
+ type: smart display
196
+ brand: ViewSonic
197
+ model: ViewBoard IFP6550-3 65" 4K
198
+ os_family: Android
199
+ browser_family: Chrome
200
+ -
201
+ user_agent: Dalvik/1.6.0 (Linux; U; Android 4.4.4; WT22M-FI Build/KTU84Q)
202
+ os:
203
+ name: Android
204
+ version: 4.4.4
205
+ platform: ""
206
+ client:
207
+ type: browser
208
+ name: Android Browser
209
+ version: ""
210
+ engine: WebKit
211
+ engine_version: ""
212
+ device:
213
+ type: smart display
214
+ brand: AOpen
215
+ model: eTILE WT22M-FI
216
+ os_family: Android
217
+ browser_family: Android Browser
218
+ -
219
+ user_agent: Dalvik/1.6.0 (Linux; U; Android 4.3.1; WT19M-FI Build/JLS36I)
220
+ os:
221
+ name: Android
222
+ version: 4.3.1
223
+ platform: ""
224
+ client:
225
+ type: browser
226
+ name: Android Browser
227
+ version: ""
228
+ engine: WebKit
229
+ engine_version: ""
230
+ device:
231
+ type: smart display
232
+ brand: AOpen
233
+ model: eTILE WT19M-FI
234
+ os_family: Android
235
+ browser_family: Android Browser
@@ -3,13 +3,12 @@
3
3
  user_agent: AppleCoreMedia/1.0.0.15F80 (HomePod; U; CPU OS 11_4 like Mac OS X; fr_fr)
4
4
  os:
5
5
  name: iOS
6
- short_name: IOS
7
6
  version: "11.4"
8
7
  platform: ""
9
8
  client: null
10
9
  device:
11
10
  type: smart speaker
12
- brand: AP
11
+ brand: Apple
13
12
  model: HomePod
14
13
  os_family: iOS
15
14
  browser_family: Unknown
@@ -17,19 +16,17 @@
17
16
  user_agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; AEOBC Build/LVY48F)
18
17
  os:
19
18
  name: Android
20
- short_name: AND
21
19
  version: "5.1.1"
22
20
  platform: ""
23
21
  client:
24
22
  type: browser
25
23
  name: Android Browser
26
- short_name: AN
27
24
  version: ""
28
25
  engine: WebKit
29
26
  engine_version: ""
30
27
  device:
31
28
  type: smart speaker
32
- brand: KN
29
+ brand: Amazon
33
30
  model: Echo
34
31
  os_family: Android
35
32
  browser_family: Android Browser
@@ -37,19 +34,27 @@
37
34
  user_agent: Mozilla/5.0 (Linux; Android 5.1.1; AEOKN Build/LVY48F; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Safari/537.36
38
35
  os:
39
36
  name: Android
40
- short_name: AND
41
37
  version: "5.1.1"
42
38
  platform: ""
43
39
  client:
44
40
  type: browser
45
41
  name: Chrome Webview
46
- short_name: CV
47
42
  version: "59.0.3071.125"
48
43
  engine: Blink
49
44
  engine_version: ""
50
45
  device:
51
46
  type: smart speaker
52
- brand: KN
47
+ brand: Amazon
53
48
  model: Echo
54
49
  os_family: Android
55
50
  browser_family: Chrome
51
+ -
52
+ user_agent: Echo/1.0(APNG)
53
+ os: [ ]
54
+ client: null
55
+ device:
56
+ type: smart speaker
57
+ brand: Amazon
58
+ model: Echo
59
+ os_family: Unknown
60
+ browser_family: Unknown