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,248 +0,0 @@
1
- ---
2
- -
3
- user_agent: Mozilla/5.0 (Linux; U; Android 4.2.2; en-us; TAB09-410 Build/Noble TAB09-410) AppleWebKit/534.30 (KHTML, like Gecko)Version/4.0 Safari/534.30
4
- os:
5
- name: Android
6
- short_name: AND
7
- version: "4.2.2"
8
- platform:
9
- client:
10
- type: browser
11
- name: Android Browser
12
- short_name: AN
13
- version:
14
- engine: WebKit
15
- device:
16
- type: tablet
17
- brand: YA
18
- model: Noble 9.7
19
- os_family: Android
20
- browser_family: Android Browser
21
- -
22
- user_agent: Mozilla/5.0 (Linux; Android 4.2.2; Noble TAB07-485 Build/Noble TAB07-485) AppleWebKit/537.36 (KHTML like Gecko) Chrome/32.0.1700.99 Safari/537.36
23
- os:
24
- name: Android
25
- short_name: AND
26
- version: "4.2.2"
27
- platform:
28
- client:
29
- type: browser
30
- name: Chrome
31
- short_name: CH
32
- version: "32.0.1700.99"
33
- engine: Blink
34
- device:
35
- type: tablet
36
- brand: YA
37
- model: Noble Mini
38
- os_family: Android
39
- browser_family: Chrome
40
- -
41
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; TAB10-201 Build/Xenta) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
42
- os:
43
- name: Android
44
- short_name: AND
45
- version: "4.1.1"
46
- platform:
47
- client:
48
- type: browser
49
- name: Android Browser
50
- short_name: AN
51
- version:
52
- engine: WebKit
53
- device:
54
- type: tablet
55
- brand: YA
56
- model: Xenta 10ic
57
- os_family: Android
58
- browser_family: Android Browser
59
- -
60
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; fr-fr; Xenta TAB10-211 Build/Xenta TAB10-211) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
61
- os:
62
- name: Android
63
- short_name: AND
64
- version: "4.1.1"
65
- platform:
66
- client:
67
- type: browser
68
- name: Android Browser
69
- short_name: AN
70
- version:
71
- engine: WebKit
72
- device:
73
- type: tablet
74
- brand: YA
75
- model: Xenta 10ic
76
- os_family: Android
77
- browser_family: Android Browser
78
- -
79
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; Xenta TAB13-201 Build/Xenta TAB13-201) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
80
- os:
81
- name: Android
82
- short_name: AND
83
- version: "4.1.1"
84
- platform:
85
- client:
86
- type: browser
87
- name: Android Browser
88
- short_name: AN
89
- version:
90
- engine: WebKit
91
- device:
92
- type: tablet
93
- brand: YA
94
- model: Xenta 13c
95
- os_family: Android
96
- browser_family: Android Browser
97
- -
98
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; fr-be; Xenta-TAB07-210 Build/Xenta-TAB07-210) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
99
- os:
100
- name: Android
101
- short_name: AND
102
- version: "4.1.1"
103
- platform:
104
- client:
105
- type: browser
106
- name: Android Browser
107
- short_name: AN
108
- version:
109
- engine: WebKit
110
- device:
111
- type: tablet
112
- brand: YA
113
- model: Xenta 7c
114
- os_family: Android
115
- browser_family: Android Browser
116
- -
117
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; nl-be; Xenta-TAB07-211 Build/Xenta-TAB07-211) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
118
- os:
119
- name: Android
120
- short_name: AND
121
- version: "4.1.1"
122
- platform:
123
- client:
124
- type: browser
125
- name: Android Browser
126
- short_name: AN
127
- version:
128
- engine: WebKit
129
- device:
130
- type: tablet
131
- brand: YA
132
- model: Xenta 7c
133
- os_family: Android
134
- browser_family: Android Browser
135
- -
136
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; TAB07-200 Build/Xenta) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
137
- os:
138
- name: Android
139
- short_name: AND
140
- version: "4.1.1"
141
- platform:
142
- client:
143
- type: browser
144
- name: Android Browser
145
- short_name: AN
146
- version:
147
- engine: WebKit
148
- device:
149
- type: tablet
150
- brand: YA
151
- model: Xenta 7ic
152
- os_family: Android
153
- browser_family: Android Browser
154
- -
155
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.2; fr-fr; Xenta TAB08-201-3G Build/Xenta TAB08-201-3G) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
156
- os:
157
- name: Android
158
- short_name: AND
159
- version: "4.1.2"
160
- platform:
161
- client:
162
- type: browser
163
- name: Android Browser
164
- short_name: AN
165
- version:
166
- engine: WebKit
167
- device:
168
- type: tablet
169
- brand: YA
170
- model: Xenta 8c
171
- os_family: Android
172
- browser_family: Android Browser
173
- -
174
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; fr-be; Xenta TAB08-200 Build/Xenta TAB08-200) 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.1"
179
- platform:
180
- client:
181
- type: browser
182
- name: Android Browser
183
- short_name: AN
184
- version:
185
- engine: WebKit
186
- device:
187
- type: tablet
188
- brand: YA
189
- model: Xenta 8ic
190
- os_family: Android
191
- browser_family: Android Browser
192
- -
193
- user_agent: Mozilla/5.0 (Linux; U; Android 4.0.4; es-es; Xenta TAB9-200 Build/Xenta TAB9-200) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
194
- os:
195
- name: Android
196
- short_name: AND
197
- version: "4.0.4"
198
- platform:
199
- client:
200
- type: browser
201
- name: Android Browser
202
- short_name: AN
203
- version:
204
- engine: WebKit
205
- device:
206
- type: tablet
207
- brand: YA
208
- model: Xenta 9.7ic
209
- os_family: Android
210
- browser_family: Android Browser
211
- -
212
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; bg-bg; Xenta TAB09-211 Build/XentaTAB09-211) AppleWebKit/534.30 (KHTML like Gecko) Version/4.0 Safari/534.30
213
- os:
214
- name: Android
215
- short_name: AND
216
- version: "4.1.1"
217
- platform:
218
- client:
219
- type: browser
220
- name: Android Browser
221
- short_name: AN
222
- version:
223
- engine: WebKit
224
- device:
225
- type: tablet
226
- brand: YA
227
- model: Xenta 9.7ic+
228
- os_family: Android
229
- browser_family: Android Browser
230
- -
231
- user_agent: Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; N101 DUAL CORE2 V11 Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
232
- os:
233
- name: Android
234
- short_name: AND
235
- version: "4.1.1"
236
- platform:
237
- client:
238
- type: browser
239
- name: Android Browser
240
- short_name: AN
241
- version:
242
- engine: WebKit
243
- device:
244
- type: tablet
245
- brand: YU
246
- model: N101
247
- os_family: Android
248
- browser_family: Android Browser