device_detector 1.0.1 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +49 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +5 -10
  5. data/CHANGELOG.md +14 -1
  6. data/README.md +6 -6
  7. data/Rakefile +20 -13
  8. data/device_detector.gemspec +1 -0
  9. data/lib/device_detector.rb +30 -26
  10. data/lib/device_detector/bot.rb +2 -2
  11. data/lib/device_detector/client.rb +3 -2
  12. data/lib/device_detector/device.rb +46 -20
  13. data/lib/device_detector/memory_cache.rb +26 -19
  14. data/lib/device_detector/metadata_extractor.rb +7 -8
  15. data/lib/device_detector/model_extractor.rb +3 -3
  16. data/lib/device_detector/name_extractor.rb +2 -2
  17. data/lib/device_detector/os.rb +121 -111
  18. data/lib/device_detector/parser.rb +22 -9
  19. data/lib/device_detector/version.rb +3 -1
  20. data/lib/device_detector/version_extractor.rb +2 -3
  21. data/regexes/bots.yml +442 -19
  22. data/regexes/client/browser_engine.yml +7 -1
  23. data/regexes/client/browsers.yml +773 -103
  24. data/regexes/client/feed_readers.yml +14 -8
  25. data/regexes/client/libraries.yml +43 -2
  26. data/regexes/client/mediaplayers.yml +21 -5
  27. data/regexes/client/mobile_apps.yml +131 -1
  28. data/regexes/client/pim.yml +6 -1
  29. data/regexes/device/cameras.yml +1 -1
  30. data/regexes/device/car_browsers.yml +7 -3
  31. data/regexes/device/consoles.yml +3 -3
  32. data/regexes/device/mobiles.yml +11365 -791
  33. data/regexes/device/notebooks.yml +114 -0
  34. data/regexes/device/portable_media_player.yml +2 -2
  35. data/regexes/device/televisions.yml +17 -3
  36. data/regexes/oss.yml +115 -47
  37. data/regexes/vendorfragments.yml +6 -2
  38. data/spec/device_detector/concrete_user_agent_spec.rb +16 -17
  39. data/spec/device_detector/detector_fixtures_spec.rb +30 -35
  40. data/spec/device_detector/device_spec.rb +28 -48
  41. data/spec/device_detector/memory_cache_spec.rb +60 -28
  42. data/spec/device_detector/model_extractor_spec.rb +3 -3
  43. data/spec/device_detector/version_extractor_spec.rb +5 -6
  44. data/spec/device_detector_spec.rb +49 -78
  45. data/spec/fixtures/client/browser.yml +1521 -406
  46. data/spec/fixtures/client/feed_reader.yml +39 -51
  47. data/spec/fixtures/client/library.yml +72 -11
  48. data/spec/fixtures/client/mediaplayer.yml +29 -40
  49. data/spec/fixtures/client/mobile_app.yml +172 -32
  50. data/spec/fixtures/client/pim.yml +32 -19
  51. data/spec/fixtures/detector/bots.yml +854 -19
  52. data/spec/fixtures/detector/camera.yml +22 -2
  53. data/spec/fixtures/detector/car_browser.yml +60 -0
  54. data/spec/fixtures/detector/console.yml +43 -3
  55. data/spec/fixtures/detector/desktop.yml +2860 -1527
  56. data/spec/fixtures/detector/feature_phone.yml +69 -1
  57. data/spec/fixtures/detector/feed_reader.yml +158 -130
  58. data/spec/fixtures/detector/mediaplayer.yml +113 -39
  59. data/spec/fixtures/detector/mobile_apps.yml +262 -89
  60. data/spec/fixtures/detector/phablet.yml +3444 -663
  61. data/spec/fixtures/detector/portable_media_player.yml +57 -0
  62. data/spec/fixtures/detector/smart_speaker.yml +55 -0
  63. data/spec/fixtures/detector/smartphone-1.yml +4739 -4765
  64. data/spec/fixtures/detector/smartphone-10.yml +9973 -0
  65. data/spec/fixtures/detector/smartphone-11.yml +10015 -0
  66. data/spec/fixtures/detector/smartphone-12.yml +9897 -0
  67. data/spec/fixtures/detector/smartphone-13.yml +9912 -0
  68. data/spec/fixtures/detector/smartphone-14.yml +9935 -0
  69. data/spec/fixtures/detector/smartphone-15.yml +6595 -0
  70. data/spec/fixtures/detector/smartphone-16.yml +10021 -0
  71. data/spec/fixtures/detector/smartphone-17.yml +9408 -0
  72. data/spec/fixtures/detector/smartphone-2.yml +4265 -4238
  73. data/spec/fixtures/detector/smartphone-3.yml +4487 -4391
  74. data/spec/fixtures/detector/smartphone-4.yml +4210 -4179
  75. data/spec/fixtures/detector/smartphone-5.yml +5794 -2901
  76. data/spec/fixtures/detector/smartphone-6.yml +10114 -0
  77. data/spec/fixtures/detector/smartphone-7.yml +9975 -0
  78. data/spec/fixtures/detector/smartphone-8.yml +9897 -0
  79. data/spec/fixtures/detector/smartphone-9.yml +9880 -0
  80. data/spec/fixtures/detector/smartphone.yml +4152 -4048
  81. data/spec/fixtures/detector/tablet-1.yml +3997 -3991
  82. data/spec/fixtures/detector/tablet-2.yml +6820 -1935
  83. data/spec/fixtures/detector/tablet-3.yml +9968 -0
  84. data/spec/fixtures/detector/tablet-4.yml +7113 -0
  85. data/spec/fixtures/detector/tablet.yml +3789 -3804
  86. data/spec/fixtures/detector/tv.yml +3889 -1495
  87. data/spec/fixtures/detector/unknown.yml +45 -179
  88. data/spec/fixtures/detector/wearable.yml +61 -0
  89. data/spec/fixtures/device/camera.yml +4 -3
  90. data/spec/fixtures/device/car_browser.yml +9 -2
  91. data/spec/fixtures/device/console.yml +15 -14
  92. data/spec/fixtures/device/notebook.yml +7 -0
  93. data/spec/fixtures/parser/oss.yml +177 -0
  94. data/spec/fixtures/parser/vendorfragments.yml +6 -0
  95. metadata +57 -7
@@ -96,7 +96,7 @@
96
96
  device:
97
97
  type: feature phone
98
98
  brand: GI
99
- model: 50
99
+ model: "50"
100
100
  os_family: Unknown
101
101
  browser_family: Unknown
102
102
  -
@@ -227,6 +227,38 @@
227
227
  model: Coast
228
228
  os_family: Brew
229
229
  browser_family: NetFront
230
+ -
231
+ user_agent: lephone K10/Dorado WAP-Browser/1.0.0
232
+ os: [ ]
233
+ client:
234
+ type: browser
235
+ name: Dorado
236
+ short_name: DO
237
+ version: "1.0.0"
238
+ engine: ""
239
+ engine_version: ""
240
+ device:
241
+ type: feature phone
242
+ brand: L7
243
+ model: K10
244
+ os_family: Unknown
245
+ browser_family: Nokia Browser
246
+ -
247
+ user_agent: lephone K7/Dorado WAP-Browser/1.0.0
248
+ os: [ ]
249
+ client:
250
+ type: browser
251
+ name: Dorado
252
+ short_name: DO
253
+ version: "1.0.0"
254
+ engine: ""
255
+ engine_version: ""
256
+ device:
257
+ type: feature phone
258
+ brand: L7
259
+ model: K7
260
+ os_family: Unknown
261
+ browser_family: Nokia Browser
230
262
  -
231
263
  user_agent: MOT-V360v/08.B7.58R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
232
264
  os: [ ]
@@ -257,6 +289,26 @@
257
289
  model: Kin Two
258
290
  os_family: Windows Mobile
259
291
  browser_family: Internet Explorer
292
+ -
293
+ user_agent: 'Mozilla/5.0 (Sonim-XP3400/E343B_2100B00_N1900;U;REX/1.0;BREW/3.1.5;240*320;CTC/2.0) POLARIS/6.2'
294
+ os:
295
+ name: Brew
296
+ short_name: BMP
297
+ version: "3.1.5"
298
+ platform: ""
299
+ client:
300
+ type: browser
301
+ name: Polaris
302
+ short_name: PO
303
+ version: "6.2"
304
+ engine: ""
305
+ engine_version: ""
306
+ device:
307
+ type: feature phone
308
+ brand: OI
309
+ model: XP3400
310
+ os_family: Brew
311
+ browser_family: Unknown
260
312
  -
261
313
  user_agent: Mozilla/4.0 (jig browser 7.3.7; P902i)
262
314
  os: [ ]
@@ -805,6 +857,22 @@
805
857
  model: XV6175
806
858
  os_family: Windows Mobile
807
859
  browser_family: Internet Explorer
860
+ -
861
+ user_agent: VK-VK700 UP.Browser/6.2.3.4 (GUI) MMP/2.0
862
+ os: [ ]
863
+ client:
864
+ type: browser
865
+ name: Openwave Mobile Browser
866
+ short_name: OV
867
+ version: "6.2.3.4"
868
+ engine: ""
869
+ engine_version: ""
870
+ device:
871
+ type: feature phone
872
+ brand: VK
873
+ model: VK700
874
+ os_family: Unknown
875
+ browser_family: Unknown
808
876
  -
809
877
  user_agent: vk-vk900/1.1 up.browser/6.2.3.4 (gui) mmp/2.0
810
878
  os: [ ]
@@ -1,9 +1,10 @@
1
- -
1
+ ---
2
+ -
2
3
  user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) akregator/4.11.5 Safari/537.21
3
4
  os:
4
5
  name: GNU/Linux
5
6
  short_name: LIN
6
- version:
7
+ version: ""
7
8
  platform: x64
8
9
  client:
9
10
  type: feed reader
@@ -11,28 +12,28 @@
11
12
  version: "4.11.5"
12
13
  device:
13
14
  type: desktop
14
- brand:
15
- model:
15
+ brand: ""
16
+ model: ""
16
17
  os_family: GNU/Linux
17
18
  browser_family: Unknown
18
- -
19
+ -
19
20
  user_agent: Akregator/4.12.3; syndication SUSE
20
21
  os:
21
22
  name: SUSE
22
23
  short_name: SSE
23
- version:
24
- platform:
24
+ version: ""
25
+ platform: ""
25
26
  client:
26
27
  type: feed reader
27
28
  name: Akregator
28
29
  version: "4.12.3"
29
30
  device:
30
31
  type: desktop
31
- brand:
32
- model:
32
+ brand: ""
33
+ model: ""
33
34
  os_family: GNU/Linux
34
35
  browser_family: Unknown
35
- -
36
+ -
36
37
  user_agent: Akregator/1.2.9; librss/remnants
37
38
  os: [ ]
38
39
  client:
@@ -40,12 +41,12 @@
40
41
  name: Akregator
41
42
  version: "1.2.9"
42
43
  device:
43
- type:
44
- brand:
45
- model:
44
+ type: ""
45
+ brand: ""
46
+ model: ""
46
47
  os_family: Unknown
47
48
  browser_family: Unknown
48
- -
49
+ -
49
50
  user_agent: Apple-PubSub/65.28
50
51
  os: [ ]
51
52
  client:
@@ -53,86 +54,86 @@
53
54
  name: Apple PubSub
54
55
  version: "65.28"
55
56
  device:
56
- type:
57
- brand:
58
- model:
57
+ type: ""
58
+ brand: ""
59
+ model: ""
59
60
  os_family: Unknown
60
61
  browser_family: Unknown
61
- -
62
+ -
62
63
  user_agent: FeedDemon/4.5 (http://www.feeddemon.com/; Microsoft Windows)
63
64
  os:
64
65
  name: Windows
65
66
  short_name: WIN
66
- version:
67
- platform:
67
+ version: ""
68
+ platform: ""
68
69
  client:
69
70
  type: feed reader
70
71
  name: FeedDemon
71
72
  version: "4.5"
72
73
  device:
73
74
  type: desktop
74
- brand:
75
- model:
75
+ brand: ""
76
+ model: ""
76
77
  os_family: Windows
77
78
  browser_family: Unknown
78
- -
79
+ -
79
80
  user_agent: FeedDemon/4.5 (http://www.feeddemon.com/; Microsoft Windows XP)
80
81
  os:
81
82
  name: Windows
82
83
  short_name: WIN
83
84
  version: "XP"
84
- platform:
85
+ platform: ""
85
86
  client:
86
87
  type: feed reader
87
88
  name: FeedDemon
88
89
  version: "4.5"
89
90
  device:
90
91
  type: desktop
91
- brand:
92
- model:
92
+ brand: ""
93
+ model: ""
93
94
  os_family: Windows
94
95
  browser_family: Unknown
95
- -
96
+ -
96
97
  user_agent: FeeddlerPro/2.4 CFNetwork/672.0.8 Darwin/14.0.0
97
98
  os:
98
99
  name: iOS
99
100
  short_name: IOS
100
101
  version: "7.0"
101
- platform:
102
+ platform: ""
102
103
  client:
103
104
  type: feed reader
104
105
  name: Feeddler RSS Reader
105
106
  version: "2.4"
106
107
  device:
107
- type:
108
+ type: ""
108
109
  brand: AP
109
- model:
110
+ model: ""
110
111
  os_family: iOS
111
112
  browser_family: Unknown
112
- -
113
+ -
113
114
  user_agent: FeeddlerRSS/2.4 CFNetwork/548.1.4 Darwin/11.0.0
114
115
  os:
115
116
  name: iOS
116
117
  short_name: IOS
117
118
  version: "5.1"
118
- platform:
119
+ platform: ""
119
120
  client:
120
121
  type: feed reader
121
122
  name: Feeddler RSS Reader
122
123
  version: "2.4"
123
124
  device:
124
- type:
125
+ type: ""
125
126
  brand: AP
126
- model:
127
+ model: ""
127
128
  os_family: iOS
128
129
  browser_family: Unknown
129
- -
130
+ -
130
131
  user_agent: FeeddlerRSS 2.4 (iPad; iPhone OS 5.1.1; en_US)
131
132
  os:
132
133
  name: iOS
133
134
  short_name: IOS
134
135
  version: "5.1.1"
135
- platform:
136
+ platform: ""
136
137
  client:
137
138
  type: feed reader
138
139
  name: Feeddler RSS Reader
@@ -144,6 +145,23 @@
144
145
  os_family: iOS
145
146
  browser_family: Unknown
146
147
  -
148
+ user_agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/602.1 (KHTML, like Gecko) QuiteRSS/0.18.12 Safari/602.1
149
+ os:
150
+ name: Windows
151
+ short_name: WIN
152
+ version: "7"
153
+ platform: ""
154
+ client:
155
+ type: feed reader
156
+ name: QuiteRSS
157
+ version: "0.18.12"
158
+ device:
159
+ type: "desktop"
160
+ brand: ""
161
+ model: ""
162
+ os_family: Windows
163
+ browser_family: Unknown
164
+ -
147
165
  user_agent: JetBrains Omea Reader 2.2 (http://www.jetbrains.com/omea/reader/)
148
166
  os: [ ]
149
167
  client:
@@ -151,139 +169,150 @@
151
169
  name: JetBrains Omea Reader
152
170
  version: "2.2"
153
171
  device:
154
- type:
155
- brand:
156
- model:
172
+ type: ""
173
+ brand: ""
174
+ model: ""
157
175
  os_family: Unknown
158
176
  browser_family: Unknown
159
- -
177
+ -
160
178
  user_agent: Liferea/1.6.4 (Linux; en_US.UTF-8; http://liferea.sf.net/)
161
179
  os:
162
180
  name: GNU/Linux
163
181
  short_name: LIN
164
- version:
165
- platform:
182
+ version: ""
183
+ platform: ""
166
184
  client:
167
185
  type: feed reader
168
186
  name: Liferea
169
187
  version: "1.6.4"
170
188
  device:
171
189
  type: desktop
172
- brand:
173
- model:
190
+ brand: ""
191
+ model: ""
174
192
  os_family: GNU/Linux
175
193
  browser_family: Unknown
176
- -
194
+ -
177
195
  user_agent: Liferea/1.10-RC1 (Linux; en_GB.UTF-8; http://liferea.sf.net/)
178
196
  os:
179
197
  name: GNU/Linux
180
198
  short_name: LIN
181
- version:
182
- platform:
199
+ version: ""
200
+ platform: ""
183
201
  client:
184
202
  type: feed reader
185
203
  name: Liferea
186
204
  version: "1.10"
187
205
  device:
188
206
  type: desktop
189
- brand:
190
- model:
207
+ brand: ""
208
+ model: ""
191
209
  os_family: GNU/Linux
192
210
  browser_family: Unknown
193
- -
211
+ -
194
212
  user_agent: Liferea/1.10.6 (Linux; en_US.UTF8; http://liferea.sf.net/) AppleWebKit (KHTML, like Gecko)
195
213
  os:
196
214
  name: GNU/Linux
197
215
  short_name: LIN
198
- version:
199
- platform:
216
+ version: ""
217
+ platform: ""
200
218
  client:
201
219
  type: feed reader
202
220
  name: Liferea
203
221
  version: "1.10.6"
204
222
  device:
205
223
  type: desktop
206
- brand:
207
- model:
224
+ brand: ""
225
+ model: ""
208
226
  os_family: GNU/Linux
209
227
  browser_family: Unknown
210
- -
228
+ -
211
229
  user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/6.0 NetNewsWire/4.0.0
212
230
  os:
213
231
  name: Mac
214
232
  short_name: MAC
215
233
  version: "10.9.2"
216
- platform:
234
+ platform: ""
217
235
  client:
218
236
  type: feed reader
219
237
  name: NetNewsWire
220
238
  version: "4.0.0"
221
239
  device:
222
240
  type: desktop
223
- brand:
224
- model:
241
+ brand: AP
242
+ model: ""
225
243
  os_family: Mac
226
244
  browser_family: Unknown
227
- -
245
+ -
228
246
  user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) NetNewsWire/3.3.2
229
247
  os:
230
248
  name: Mac
231
249
  short_name: MAC
232
250
  version: "10.9.2"
233
- platform:
251
+ platform: ""
234
252
  client:
235
253
  type: feed reader
236
254
  name: NetNewsWire
237
255
  version: "3.3.2"
238
256
  device:
239
257
  type: desktop
240
- brand:
241
- model:
258
+ brand: AP
259
+ model: ""
242
260
  os_family: Mac
243
261
  browser_family: Unknown
244
- -
262
+ -
263
+ user_agent: Breaker/v315 (subscribers=9999; feed-id=123456; url=https://www.breaker.audio/url-slug-to-podcast)
264
+ os: [ ]
265
+ client:
266
+ type: feed reader
267
+ name: Breaker
268
+ version: "315"
269
+ device:
270
+ type: ""
271
+ brand: ""
272
+ model: ""
273
+ os_family: Unknown
274
+ browser_family: Unknown
275
+ -
245
276
  user_agent: NetNewsWire/4.0.0 (Mac OS X; http://netnewswireapp.com/mac/; gzip-happy)
246
277
  os:
247
278
  name: Mac
248
279
  short_name: MAC
249
- version:
250
- platform:
280
+ version: ""
281
+ platform: ""
251
282
  client:
252
283
  type: feed reader
253
284
  name: NetNewsWire
254
285
  version: "4.0.0"
255
286
  device:
256
287
  type: desktop
257
- brand:
258
- model:
288
+ brand: AP
289
+ model: ""
259
290
  os_family: Mac
260
291
  browser_family: Unknown
261
-
262
- -
292
+ -
263
293
  user_agent: Downcast/2.9.11 (Mac OS X Version 10.11.3 (Build 15D21))
264
294
  os:
265
295
  name: Mac
266
296
  short_name: MAC
267
297
  version: "10.11.3"
268
- platform:
298
+ platform: ""
269
299
  client:
270
300
  type: feed reader
271
301
  name: Downcast
272
302
  version: "2.9.11"
273
303
  device:
274
304
  type: desktop
275
- brand:
276
- model:
305
+ brand: AP
306
+ model: ""
277
307
  os_family: Mac
278
308
  browser_family: Unknown
279
-
280
- -
309
+ -
281
310
  user_agent: Downcast/2.9.11 (iPhone; iOS 9.2; Scale/2.00)
282
311
  os:
283
312
  name: iOS
284
313
  short_name: IOS
285
314
  version: "9.2"
286
- platform:
315
+ platform: ""
287
316
  client:
288
317
  type: feed reader
289
318
  name: Downcast
@@ -294,13 +323,12 @@
294
323
  model: iPhone
295
324
  os_family: iOS
296
325
  browser_family: Unknown
297
-
298
- -
326
+ -
299
327
  user_agent: newsbeuter/2.7 (Linux x86_64)
300
328
  os:
301
329
  name: GNU/Linux
302
330
  short_name: LIN
303
- version:
331
+ version: ""
304
332
  platform: x64
305
333
  client:
306
334
  type: feed reader
@@ -308,17 +336,17 @@
308
336
  version: "2.7"
309
337
  device:
310
338
  type: desktop
311
- brand:
312
- model:
339
+ brand: ""
340
+ model: ""
313
341
  os_family: GNU/Linux
314
342
  browser_family: Unknown
315
- -
343
+ -
316
344
  user_agent: NewsBlur iPhone App v3.6
317
345
  os:
318
346
  name: iOS
319
347
  short_name: IOS
320
- version:
321
- platform:
348
+ version: ""
349
+ platform: ""
322
350
  client:
323
351
  type: feed reader
324
352
  name: NewsBlur Mobile App
@@ -329,13 +357,13 @@
329
357
  model: iPhone
330
358
  os_family: iOS
331
359
  browser_family: Unknown
332
- -
360
+ -
333
361
  user_agent: NewsBlur iPad App v3.6
334
362
  os:
335
363
  name: iOS
336
364
  short_name: IOS
337
- version:
338
- platform:
365
+ version: ""
366
+ platform: ""
339
367
  client:
340
368
  type: feed reader
341
369
  name: NewsBlur Mobile App
@@ -346,29 +374,29 @@
346
374
  model: iPad
347
375
  os_family: iOS
348
376
  browser_family: Unknown
349
- -
377
+ -
350
378
  user_agent: NewsBlur/4.0.1 CFNetwork/672.1.13 Darwin/14.0.0
351
379
  os:
352
380
  name: iOS
353
381
  short_name: IOS
354
382
  version: "7.1"
355
- platform:
383
+ platform: ""
356
384
  client:
357
385
  type: feed reader
358
386
  name: NewsBlur
359
387
  version: "4.0.1"
360
388
  device:
361
- type:
389
+ type: ""
362
390
  brand: AP
363
- model:
391
+ model: ""
364
392
  os_family: iOS
365
393
  browser_family: Unknown
366
- -
394
+ -
367
395
  user_agent: newsbeuter/2.4 (Linux 3.2.0-23-generic; i686; http://www.newsbeuter.org/) libcurl/7.22.0 GnuTLS/2.12.14 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
368
396
  os:
369
397
  name: GNU/Linux
370
398
  short_name: LIN
371
- version:
399
+ version: ""
372
400
  platform: x86
373
401
  client:
374
402
  type: feed reader
@@ -376,17 +404,17 @@
376
404
  version: "2.4"
377
405
  device:
378
406
  type: desktop
379
- brand:
380
- model:
407
+ brand: ""
408
+ model: ""
381
409
  os_family: GNU/Linux
382
410
  browser_family: Unknown
383
- -
411
+ -
384
412
  user_agent: Pulp/1.5.2 (iPad; http://www.acrylicapps.com/pulp/)
385
413
  os:
386
414
  name: iOS
387
415
  short_name: IOS
388
- version:
389
- platform:
416
+ version: ""
417
+ platform: ""
390
418
  client:
391
419
  type: feed reader
392
420
  name: Pulp
@@ -397,25 +425,25 @@
397
425
  model: iPad
398
426
  os_family: iOS
399
427
  browser_family: Unknown
400
- -
428
+ -
401
429
  user_agent: ReadKit/2.4.0 (Mac OS X Version 10.9.2 (Build 13C64))
402
430
  os:
403
431
  name: Mac
404
432
  short_name: MAC
405
433
  version: "10.9.2"
406
- platform:
434
+ platform: ""
407
435
  client:
408
436
  type: feed reader
409
437
  name: ReadKit
410
438
  version: "2.4.0"
411
439
  device:
412
440
  type: desktop
413
- brand:
414
- model:
441
+ brand: AP
442
+ model: ""
415
443
  os_family: Mac
416
444
  browser_family: Unknown
417
- -
418
- user_agent: ReadKit/7017 CFNetwork/673.2.1 Darwin/13.1.0 (x86_64) (MacBookPro10%2C1)
445
+ -
446
+ user_agent: 'ReadKit/7017 CFNetwork/673.2.1 Darwin/13.1.0 (x86_64) (MacBookPro10%2C1)'
419
447
  os:
420
448
  name: Mac
421
449
  short_name: MAC
@@ -428,27 +456,27 @@
428
456
  device:
429
457
  type: desktop
430
458
  brand: AP
431
- model:
459
+ model: ""
432
460
  os_family: Mac
433
461
  browser_family: Unknown
434
- -
462
+ -
435
463
  user_agent: Reeder/3.2 CFNetwork/672.1.12 Darwin/14.0.0
436
464
  os:
437
465
  name: iOS
438
466
  short_name: IOS
439
467
  version: "7.1"
440
- platform:
468
+ platform: ""
441
469
  client:
442
470
  type: feed reader
443
471
  name: Reeder
444
472
  version: "3.2"
445
473
  device:
446
- type:
474
+ type: ""
447
475
  brand: AP
448
- model:
476
+ model: ""
449
477
  os_family: iOS
450
478
  browser_family: Unknown
451
- -
479
+ -
452
480
  user_agent: RssBandit/1.9.0.1002
453
481
  os: [ ]
454
482
  client:
@@ -456,59 +484,59 @@
456
484
  name: RSS Bandit
457
485
  version: "1.9.0.1002"
458
486
  device:
459
- type:
460
- brand:
461
- model:
487
+ type: ""
488
+ brand: ""
489
+ model: ""
462
490
  os_family: Unknown
463
491
  browser_family: Unknown
464
- -
492
+ -
465
493
  user_agent: RssBandit/1.9.0.1002 (.NET CLR 2.0.50727.7512; WinNT 6.2.9200.0; http://www.rssbandit.org)
466
494
  os:
467
495
  name: Windows
468
496
  short_name: WIN
469
497
  version: "NT"
470
- platform:
498
+ platform: ""
471
499
  client:
472
500
  type: feed reader
473
501
  name: RSS Bandit
474
502
  version: "1.9.0.1002"
475
503
  device:
476
504
  type: desktop
477
- brand:
478
- model:
505
+ brand: ""
506
+ model: ""
479
507
  os_family: Windows
480
508
  browser_family: Unknown
481
- -
509
+ -
482
510
  user_agent: RSS Junkie Daemon
483
511
  os: [ ]
484
512
  client:
485
513
  type: feed reader
486
514
  name: RSS Junkie
487
- version:
515
+ version: ""
488
516
  device:
489
- type:
490
- brand:
491
- model:
517
+ type: ""
518
+ brand: ""
519
+ model: ""
492
520
  os_family: Unknown
493
521
  browser_family: Unknown
494
- -
522
+ -
495
523
  user_agent: RSSOwl/2.2.1.201312301314 (Windows; U; en)
496
524
  os:
497
525
  name: Windows
498
526
  short_name: WIN
499
- version:
500
- platform:
527
+ version: ""
528
+ platform: ""
501
529
  client:
502
530
  type: feed reader
503
531
  name: RSSOwl
504
532
  version: "2.2.1.201312301314"
505
533
  device:
506
534
  type: desktop
507
- brand:
508
- model:
535
+ brand: ""
536
+ model: ""
509
537
  os_family: Windows
510
538
  browser_family: Unknown
511
- -
539
+ -
512
540
  user_agent: RSSOwl/2.2.1.201312301316 (X11; U; en)
513
541
  os: [ ]
514
542
  client:
@@ -516,8 +544,8 @@
516
544
  name: RSSOwl
517
545
  version: "2.2.1.201312301316"
518
546
  device:
519
- type:
520
- brand:
521
- model:
547
+ type: ""
548
+ brand: ""
549
+ model: ""
522
550
  os_family: Unknown
523
551
  browser_family: Unknown