device_detector 1.0.0 → 1.1.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 (89) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +58 -4
  3. data/README.md +57 -21
  4. data/lib/device_detector/bot.rb +2 -2
  5. data/lib/device_detector/browser.rb +691 -0
  6. data/lib/device_detector/client.rb +11 -2
  7. data/lib/device_detector/client_hint.rb +249 -0
  8. data/lib/device_detector/device.rb +1954 -23
  9. data/lib/device_detector/memory_cache.rb +26 -19
  10. data/lib/device_detector/metadata_extractor.rb +7 -8
  11. data/lib/device_detector/model_extractor.rb +3 -3
  12. data/lib/device_detector/name_extractor.rb +2 -2
  13. data/lib/device_detector/os.rb +289 -112
  14. data/lib/device_detector/parser.rb +49 -13
  15. data/lib/device_detector/vendor_fragment.rb +25 -0
  16. data/lib/device_detector/version.rb +3 -1
  17. data/lib/device_detector/version_extractor.rb +29 -2
  18. data/lib/device_detector.rb +192 -44
  19. data/regexes/bots.yml +3399 -91
  20. data/regexes/client/browser_engine.yml +28 -4
  21. data/regexes/client/browsers.yml +2697 -408
  22. data/regexes/client/feed_readers.yml +60 -22
  23. data/regexes/client/hints/apps.yml +150 -0
  24. data/regexes/client/hints/browsers.yml +292 -0
  25. data/regexes/client/libraries.yml +598 -4
  26. data/regexes/client/mediaplayers.yml +110 -5
  27. data/regexes/client/mobile_apps.yml +2451 -14
  28. data/regexes/client/pim.yml +128 -3
  29. data/regexes/device/cameras.yml +6 -6
  30. data/regexes/device/car_browsers.yml +39 -3
  31. data/regexes/device/consoles.yml +40 -6
  32. data/regexes/device/mobiles.yml +38844 -2907
  33. data/regexes/device/notebooks.yml +127 -0
  34. data/regexes/device/portable_media_player.yml +75 -12
  35. data/regexes/device/shell_tv.yml +145 -0
  36. data/regexes/device/televisions.yml +981 -40
  37. data/regexes/oss.yml +1560 -311
  38. data/regexes/vendorfragments.yml +6 -2
  39. metadata +31 -105
  40. data/.gitignore +0 -14
  41. data/.travis.yml +0 -18
  42. data/Gemfile +0 -8
  43. data/Rakefile +0 -79
  44. data/device_detector.gemspec +0 -26
  45. data/spec/device_detector/bot_fixtures_spec.rb +0 -30
  46. data/spec/device_detector/client_fixtures_spec.rb +0 -31
  47. data/spec/device_detector/concrete_user_agent_spec.rb +0 -136
  48. data/spec/device_detector/detector_fixtures_spec.rb +0 -60
  49. data/spec/device_detector/device_fixtures_spec.rb +0 -36
  50. data/spec/device_detector/device_spec.rb +0 -151
  51. data/spec/device_detector/memory_cache_spec.rb +0 -116
  52. data/spec/device_detector/model_extractor_spec.rb +0 -63
  53. data/spec/device_detector/os_fixtures_spec.rb +0 -26
  54. data/spec/device_detector/version_extractor_spec.rb +0 -80
  55. data/spec/device_detector_spec.rb +0 -198
  56. data/spec/fixtures/client/browser.yml +0 -1313
  57. data/spec/fixtures/client/feed_reader.yml +0 -187
  58. data/spec/fixtures/client/library.yml +0 -84
  59. data/spec/fixtures/client/mediaplayer.yml +0 -168
  60. data/spec/fixtures/client/mobile_app.yml +0 -30
  61. data/spec/fixtures/client/pim.yml +0 -96
  62. data/spec/fixtures/detector/bots.yml +0 -2418
  63. data/spec/fixtures/detector/camera.yml +0 -115
  64. data/spec/fixtures/detector/car_browser.yml +0 -20
  65. data/spec/fixtures/detector/console.yml +0 -267
  66. data/spec/fixtures/detector/desktop.yml +0 -4828
  67. data/spec/fixtures/detector/feature_phone.yml +0 -782
  68. data/spec/fixtures/detector/feed_reader.yml +0 -486
  69. data/spec/fixtures/detector/mediaplayer.yml +0 -179
  70. data/spec/fixtures/detector/mobile_apps.yml +0 -149
  71. data/spec/fixtures/detector/phablet.yml +0 -2140
  72. data/spec/fixtures/detector/portable_media_player.yml +0 -153
  73. data/spec/fixtures/detector/smart_display.yml +0 -58
  74. data/spec/fixtures/detector/smartphone-1.yml +0 -9469
  75. data/spec/fixtures/detector/smartphone-2.yml +0 -9414
  76. data/spec/fixtures/detector/smartphone-3.yml +0 -9396
  77. data/spec/fixtures/detector/smartphone-4.yml +0 -5742
  78. data/spec/fixtures/detector/smartphone.yml +0 -9411
  79. data/spec/fixtures/detector/tablet-1.yml +0 -9495
  80. data/spec/fixtures/detector/tablet-2.yml +0 -248
  81. data/spec/fixtures/detector/tablet.yml +0 -9484
  82. data/spec/fixtures/detector/tv.yml +0 -2582
  83. data/spec/fixtures/detector/unknown.yml +0 -3196
  84. data/spec/fixtures/device/camera.yml +0 -18
  85. data/spec/fixtures/device/car_browser.yml +0 -6
  86. data/spec/fixtures/device/console.yml +0 -78
  87. data/spec/fixtures/parser/oss.yml +0 -800
  88. data/spec/fixtures/parser/vendorfragments.yml +0 -162
  89. data/spec/spec_helper.rb +0 -9
@@ -1,115 +0,0 @@
1
- ---
2
- -
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
- os:
5
- name: Android
6
- short_name: AND
7
- version: "2.3.3"
8
- platform:
9
- client:
10
- type: browser
11
- name: Android Browser
12
- short_name: AN
13
- version:
14
- engine: WebKit
15
- device:
16
- type: camera
17
- brand: NN
18
- model: Coolpix S800c
19
- os_family: Android
20
- browser_family: Android Browser
21
- -
22
- 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
23
- os:
24
- name: Android
25
- short_name: AND
26
- version: "4.0"
27
- platform:
28
- client:
29
- type: browser
30
- name: Android Browser
31
- short_name: AN
32
- version:
33
- engine: WebKit
34
- device:
35
- type: camera
36
- brand: SA
37
- model: GALAXY Camera
38
- os_family: Android
39
- browser_family: Android Browser
40
- -
41
- 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
42
- os:
43
- name: Android
44
- short_name: AND
45
- version: "4.1.2"
46
- platform:
47
- client:
48
- type: browser
49
- name: Opera Mobile
50
- short_name: OM
51
- version: "15.0.1162.60140"
52
- engine: Blink
53
- device:
54
- type: camera
55
- brand: SA
56
- model: GALAXY Camera
57
- os_family: Android
58
- browser_family: Opera
59
- -
60
- 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
61
- os:
62
- name: Android
63
- short_name: AND
64
- version: "4.3"
65
- platform:
66
- client:
67
- type: browser
68
- name: Chrome Mobile
69
- short_name: CM
70
- version: "35.0.1916.141"
71
- engine: Blink
72
- device:
73
- type: camera
74
- brand: SA
75
- model: GALAXY Camera 2
76
- os_family: Android
77
- browser_family: Chrome
78
- -
79
- 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
80
- os:
81
- name: Android
82
- short_name: AND
83
- version: "4.1.2"
84
- platform:
85
- client:
86
- type: browser
87
- name: Chrome Mobile
88
- short_name: CM
89
- version: "18.0.1025.166"
90
- engine: WebKit
91
- device:
92
- type: camera
93
- brand: SA
94
- model: GALAXY Camera WiFi only
95
- os_family: Android
96
- browser_family: Chrome
97
- -
98
- 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
99
- os:
100
- name: Android
101
- short_name: AND
102
- version: "4.2.2"
103
- platform:
104
- client:
105
- type: browser
106
- name: Chrome Mobile
107
- short_name: CM
108
- version: "18.0.1025.308"
109
- engine: WebKit
110
- device:
111
- type: camera
112
- brand: SA
113
- model: GALAXY NX
114
- os_family: Android
115
- browser_family: Chrome
@@ -1,20 +0,0 @@
1
- ---
2
- -
3
- user_agent: Mozilla/5.0 (X11; u; Linux; C) AppleWebKit /533.3 (Khtml, like Gheko) QtCarBrowser Safari/533.3
4
- os:
5
- name: GNU/Linux
6
- short_name: LIN
7
- version:
8
- platform:
9
- client:
10
- type: browser
11
- name: Safari
12
- short_name: SF
13
- version:
14
- engine: WebKit
15
- device:
16
- type: car browser
17
- brand: TA
18
- model: Model S
19
- os_family: GNU/Linux
20
- browser_family: Safari
@@ -1,267 +0,0 @@
1
- ---
2
- -
3
- user_agent: Mozilla/5.0 (Linux; Android 4.1.1; ARCHOS GAMEPAD Build/JRO03H) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19
4
- os:
5
- name: Android
6
- short_name: AND
7
- version: "4.1.1"
8
- platform:
9
- client:
10
- type: browser
11
- name: Chrome
12
- short_name: CH
13
- version: "18.0.1025.166"
14
- engine: WebKit
15
- device:
16
- type: console
17
- brand: AR
18
- model: Gamepad
19
- os_family: Android
20
- browser_family: Chrome
21
- -
22
- user_agent: Mozilla/5.0 (Linux; U; Android 4.2.2; fr-fr; ARCHOS GAMEPAD2 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
23
- os:
24
- name: Android
25
- short_name: AND
26
- version: "4.2.2"
27
- platform:
28
- client:
29
- type: browser
30
- name: Android Browser
31
- short_name: AN
32
- version:
33
- engine: WebKit
34
- device:
35
- type: console
36
- brand: AR
37
- model: Gamepad 2
38
- os_family: Android
39
- browser_family: Android Browser
40
- -
41
- user_agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox)
42
- os:
43
- name: Windows
44
- short_name: WIN
45
- version: "7"
46
- platform:
47
- client:
48
- type: browser
49
- name: Internet Explorer
50
- short_name: IE
51
- version: "9.0"
52
- engine: Trident
53
- device:
54
- type: console
55
- brand: MS
56
- model: Xbox 360
57
- os_family: Windows
58
- browser_family: Internet Explorer
59
- -
60
- user_agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Xbox; Xbox One)
61
- os:
62
- name: Windows
63
- short_name: WIN
64
- version: "8"
65
- platform:
66
- client:
67
- type: browser
68
- name: Internet Explorer
69
- short_name: IE
70
- version: "10.0"
71
- engine: Trident
72
- device:
73
- type: console
74
- brand: MS
75
- model: Xbox One
76
- os_family: Windows
77
- browser_family: Internet Explorer
78
- -
79
- user_agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; Xbox; Xbox One)
80
- os:
81
- name: Windows Phone
82
- short_name: WPH
83
- version: "8.0"
84
- platform:
85
- client:
86
- type: browser
87
- name: IE Mobile
88
- short_name: IM
89
- version: "10.0"
90
- engine: Trident
91
- device:
92
- type: console
93
- brand: MS
94
- model: Xbox One
95
- os_family: Windows Mobile
96
- browser_family: Internet Explorer
97
- -
98
- user_agent: Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7498.EU
99
- os:
100
- name: Nintendo Mobile
101
- short_name: NDS
102
- version: "3DS"
103
- platform:
104
- client:
105
- type: browser
106
- name: NetFront
107
- short_name: NF
108
- version:
109
- engine:
110
- device:
111
- type: console
112
- brand: NI
113
- model: 3DS
114
- os_family: Mobile Gaming Console
115
- browser_family: NetFront
116
- -
117
- user_agent: Bunjalloo/0.7.6(Nintendo DS;U;en)
118
- os:
119
- name: Nintendo Mobile
120
- short_name: NDS
121
- version: "DS"
122
- platform:
123
- client:
124
- type: browser
125
- name: Bunjalloo
126
- short_name: BJ
127
- version: "0.7.6"
128
- engine:
129
- device:
130
- type: console
131
- brand: NI
132
- model: DS
133
- os_family: Mobile Gaming Console
134
- browser_family: Unknown
135
- -
136
- user_agent: Opera/9.30 (Nintendo Wii; U; ; 3642; en)
137
- os:
138
- name: Nintendo
139
- short_name: WII
140
- version: "Wii"
141
- platform:
142
- client:
143
- type: browser
144
- name: Opera
145
- short_name: OP
146
- version: "9.30"
147
- engine: Presto
148
- device:
149
- type: console
150
- brand: NI
151
- model: Wii
152
- os_family: Gaming Console
153
- browser_family: Opera
154
- -
155
- user_agent: Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.21 NintendoBrowser/1.0.0.7494.US
156
- os:
157
- name: Nintendo
158
- short_name: WII
159
- version: "Wii"
160
- platform:
161
- client:
162
- type: browser
163
- name: NetFront
164
- short_name: NF
165
- version:
166
- engine: WebKit
167
- device:
168
- type: console
169
- brand: NI
170
- model: WiiU
171
- os_family: Gaming Console
172
- browser_family: NetFront
173
- -
174
- user_agent: Mozilla/5.0 (Linux; U; Android OUYA 4.1.2; en-us; OUYA Build/JZO54L-OUYA) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
175
- os:
176
- name: Android
177
- short_name: AND
178
- version: "4.1.2"
179
- platform:
180
- client:
181
- type: browser
182
- name: Android Browser
183
- short_name: AN
184
- version:
185
- engine: WebKit
186
- device:
187
- type: console
188
- brand: OU
189
- model: OUYA
190
- os_family: Android
191
- browser_family: Android Browser
192
- -
193
- user_agent: Mozilla/5.0 (PLAYSTATION 3 4.46) AppleWebKit/531.22.8 (KHTML, like Gecko)
194
- os:
195
- name: PlayStation
196
- short_name: PS3
197
- version: "3"
198
- platform:
199
- client:
200
- type: browser
201
- name: NetFront
202
- short_name: NF
203
- version:
204
- engine: WebKit
205
- device:
206
- type: console
207
- brand: SO
208
- model: PlayStation 3
209
- os_family: Gaming Console
210
- browser_family: NetFront
211
- -
212
- user_agent: Mozilla/5.0 (PlayStation 4 1.52) AppleWebKit/536.26 (KHTML, like Gecko)
213
- os:
214
- name: PlayStation
215
- short_name: PS3
216
- version: "4"
217
- platform:
218
- client:
219
- type: browser
220
- name: NetFront
221
- short_name: NF
222
- version:
223
- engine: WebKit
224
- device:
225
- type: console
226
- brand: SO
227
- model: PlayStation 4
228
- os_family: Gaming Console
229
- browser_family: NetFront
230
- -
231
- user_agent: Mozilla/4.0 (PlayStation Portable); 2.00)
232
- os:
233
- name: PlayStation Portable
234
- short_name: PSP
235
- version: "Portable"
236
- platform:
237
- client:
238
- type: browser
239
- name: NetFront
240
- short_name: NF
241
- version:
242
- engine:
243
- device:
244
- type: console
245
- brand: SO
246
- model: PlayStation Portable
247
- os_family: Mobile Gaming Console
248
- browser_family: NetFront
249
- -
250
- user_agent: Mozilla/5.0 (PlayStation Vita 3.01) AppleWebKit/536.26 (KHTML, like Gecko) Silk/3.2
251
- os:
252
- name: PlayStation Portable
253
- short_name: PSP
254
- version: "Vita"
255
- platform:
256
- client:
257
- type: browser
258
- name: Mobile Silk
259
- short_name: MS
260
- version: "3.2"
261
- engine: Blink
262
- device:
263
- type: console
264
- brand: SO
265
- model: PlayStation Vita
266
- os_family: Mobile Gaming Console
267
- browser_family: Unknown