device_detector 0.8.2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +11 -3
  3. data/CHANGELOG.md +10 -5
  4. data/README.md +4 -4
  5. data/Rakefile +24 -19
  6. data/device_detector.gemspec +1 -1
  7. data/lib/device_detector.rb +25 -3
  8. data/lib/device_detector/device.rb +1 -1
  9. data/lib/device_detector/model_extractor.rb +4 -0
  10. data/lib/device_detector/os.rb +8 -3
  11. data/lib/device_detector/parser.rb +1 -1
  12. data/lib/device_detector/version.rb +1 -1
  13. data/regexes/bots.yml +211 -27
  14. data/regexes/client/browsers.yml +192 -58
  15. data/regexes/client/feed_readers.yml +6 -0
  16. data/regexes/client/libraries.yml +4 -0
  17. data/regexes/client/mediaplayers.yml +8 -4
  18. data/regexes/client/mobile_apps.yml +39 -4
  19. data/regexes/client/pim.yml +4 -0
  20. data/regexes/device/mobiles.yml +1803 -242
  21. data/regexes/device/televisions.yml +53 -11
  22. data/regexes/oss.yml +180 -12
  23. data/regexes/vendorfragments.yml +1 -0
  24. data/spec/device_detector/concrete_user_agent_spec.rb +36 -0
  25. data/spec/device_detector/detector_fixtures_spec.rb +1 -1
  26. data/spec/fixtures/client/browser.yml +313 -2
  27. data/spec/fixtures/client/feed_reader.yml +8 -1
  28. data/spec/fixtures/client/library.yml +7 -1
  29. data/spec/fixtures/client/mediaplayer.yml +6 -1
  30. data/spec/fixtures/client/mobile_app.yml +6 -0
  31. data/spec/fixtures/client/pim.yml +6 -0
  32. data/spec/fixtures/detector/bots.yml +2307 -612
  33. data/spec/fixtures/detector/camera.yml +6 -0
  34. data/spec/fixtures/detector/car_browser.yml +1 -0
  35. data/spec/fixtures/detector/console.yml +14 -0
  36. data/spec/fixtures/detector/desktop.yml +308 -48
  37. data/spec/fixtures/detector/feature_phone.yml +63 -0
  38. data/spec/fixtures/detector/feed_reader.yml +50 -26
  39. data/spec/fixtures/detector/mediaplayer.yml +28 -6
  40. data/spec/fixtures/detector/mobile_apps.yml +117 -0
  41. data/spec/fixtures/detector/phablet.yml +1066 -183
  42. data/spec/fixtures/detector/portable_media_player.yml +8 -0
  43. data/spec/fixtures/detector/smart_display.yml +39 -0
  44. data/spec/fixtures/detector/smartphone-1.yml +9469 -0
  45. data/spec/fixtures/detector/smartphone-2.yml +9414 -0
  46. data/spec/fixtures/detector/smartphone-3.yml +9396 -0
  47. data/spec/fixtures/detector/smartphone-4.yml +5742 -0
  48. data/spec/fixtures/detector/smartphone.yml +3446 -23680
  49. data/spec/fixtures/detector/tablet-1.yml +9495 -0
  50. data/spec/fixtures/detector/tablet-2.yml +248 -0
  51. data/spec/fixtures/detector/tablet.yml +2786 -7961
  52. data/spec/fixtures/detector/tv.yml +1376 -210
  53. data/spec/fixtures/detector/unknown.yml +205 -509
  54. data/spec/fixtures/device/console.yml +6 -0
  55. data/spec/fixtures/parser/oss.yml +194 -1
  56. data/spec/fixtures/parser/vendorfragments.yml +6 -0
  57. metadata +16 -6
  58. data/spec/fixtures/parser/bots.yml +0 -2055
@@ -84,6 +84,28 @@
84
84
  model: E158
85
85
  os_family: Unknown
86
86
  browser_family: Unknown
87
+ -
88
+ user_agent: |
89
+ GIONEE50_12864_11B_HW (MRE\\2.5.00(3072) resolution\\240320 chipset\\MT6250 touch\\1 tpannel\\0 camera\\1 gsensor\\0 keyboard\
90
+ ormal) 1307SY_0201_V1045 Release/2013.06.28 WAP Browser/MAUI (HTTP PGDL; HTTPS) Profile/Profile/MIDP-2.0 Configuration/CLDC-1.1 Q03C1-2.40 en-US
91
+ os: [ ]
92
+ client: null
93
+ device:
94
+ type: feature phone
95
+ brand: GI
96
+ model: 50
97
+ os_family: Unknown
98
+ browser_family: Unknown
99
+ -
100
+ user_agent: GIONEE S80/Q03C MAUI-browser/MIDP2.0/CLDC1.1/Screen-240X320
101
+ os: [ ]
102
+ client: null
103
+ device:
104
+ type: feature phone
105
+ brand: GI
106
+ model: S80
107
+ os_family: Unknown
108
+ browser_family: Unknown
87
109
  -
88
110
  user_agent: Karbonn K222s WAP-Browser/1.0.0
89
111
  os: [ ]
@@ -135,6 +157,7 @@
135
157
  name: Brew
136
158
  short_name: BMP
137
159
  version:
160
+ platform:
138
161
  client:
139
162
  type: browser
140
163
  name: Opera Mobile
@@ -183,6 +206,7 @@
183
206
  name: Brew
184
207
  short_name: BMP
185
208
  version: "1.0.4"
209
+ platform:
186
210
  client:
187
211
  type: browser
188
212
  name: NetFront
@@ -211,6 +235,7 @@
211
235
  name: Windows CE
212
236
  short_name: WCE
213
237
  version:
238
+ platform:
214
239
  client:
215
240
  type: browser
216
241
  name: IE Mobile
@@ -223,6 +248,21 @@
223
248
  model: Kin Two
224
249
  os_family: Windows Mobile
225
250
  browser_family: Internet Explorer
251
+ -
252
+ user_agent: Mozilla/4.0 (jig browser 7.3.7; P902i)
253
+ os: [ ]
254
+ client:
255
+ type: browser
256
+ name: Jig Browser
257
+ short_name: JI
258
+ version: "7.3.7"
259
+ engine:
260
+ device:
261
+ type: feature phone
262
+ brand: PA
263
+ model: P902i
264
+ os_family: Unknown
265
+ browser_family: Unknown
226
266
  -
227
267
  user_agent: SAMSUNG-GT-E2152/E2152XXJK2 NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
228
268
  os: [ ]
@@ -379,6 +419,7 @@
379
419
  name: Symbian^3
380
420
  short_name: SY3
381
421
  version:
422
+ platform:
382
423
  client:
383
424
  type: browser
384
425
  name: SEMC-Browser
@@ -397,6 +438,7 @@
397
438
  name: Symbian OS Series 60
398
439
  short_name: S60
399
440
  version: "5.0"
441
+ platform:
400
442
  client:
401
443
  type: browser
402
444
  name: Nokia Browser
@@ -415,6 +457,7 @@
415
457
  name: Symbian OS Series 60
416
458
  short_name: S60
417
459
  version: "5.0"
460
+ platform:
418
461
  client:
419
462
  type: browser
420
463
  name: Nokia Browser
@@ -488,6 +531,7 @@
488
531
  name: Symbian OS Series 60
489
532
  short_name: S60
490
533
  version: "5.0"
534
+ platform:
491
535
  client:
492
536
  type: browser
493
537
  name: Nokia Browser
@@ -506,6 +550,7 @@
506
550
  name: Symbian OS Series 60
507
551
  short_name: S60
508
552
  version: "5.0"
553
+ platform:
509
554
  client:
510
555
  type: browser
511
556
  name: Nokia Browser
@@ -629,6 +674,7 @@
629
674
  name: Brew
630
675
  short_name: BMP
631
676
  version: "3.1.5"
677
+ platform:
632
678
  client:
633
679
  type: browser
634
680
  name: NetFront
@@ -647,6 +693,7 @@
647
693
  name: Brew
648
694
  short_name: BMP
649
695
  version: "1.0.2"
696
+ platform:
650
697
  client:
651
698
  type: browser
652
699
  name: NetFront
@@ -705,6 +752,7 @@
705
752
  name: Windows CE
706
753
  short_name: WCE
707
754
  version:
755
+ platform:
708
756
  client:
709
757
  type: browser
710
758
  name: IE Mobile
@@ -717,3 +765,18 @@
717
765
  model: XV6175
718
766
  os_family: Windows Mobile
719
767
  browser_family: Internet Explorer
768
+ -
769
+ user_agent: vk-vk900/1.1 up.browser/6.2.3.4 (gui) mmp/2.0
770
+ os: [ ]
771
+ client:
772
+ type: browser
773
+ name: Openwave Mobile Browser
774
+ short_name: OV
775
+ version: "6.2.3.4"
776
+ engine:
777
+ device:
778
+ type: feature phone
779
+ brand: VK
780
+ model: vk900
781
+ os_family: Unknown
782
+ browser_family: Unknown
@@ -4,6 +4,7 @@
4
4
  name: GNU/Linux
5
5
  short_name: LIN
6
6
  version:
7
+ platform: x64
7
8
  client:
8
9
  type: feed reader
9
10
  name: Akregator
@@ -20,6 +21,7 @@
20
21
  name: SUSE
21
22
  short_name: SSE
22
23
  version:
24
+ platform:
23
25
  client:
24
26
  type: feed reader
25
27
  name: Akregator
@@ -62,6 +64,7 @@
62
64
  name: Windows
63
65
  short_name: WIN
64
66
  version:
67
+ platform:
65
68
  client:
66
69
  type: feed reader
67
70
  name: FeedDemon
@@ -78,6 +81,7 @@
78
81
  name: Windows
79
82
  short_name: WIN
80
83
  version: "XP"
84
+ platform:
81
85
  client:
82
86
  type: feed reader
83
87
  name: FeedDemon
@@ -91,34 +95,36 @@
91
95
  -
92
96
  user_agent: FeeddlerPro/2.4 CFNetwork/672.0.8 Darwin/14.0.0
93
97
  os:
94
- name: Mac
95
- short_name: MAC
96
- version:
98
+ name: iOS
99
+ short_name: IOS
100
+ version: "7.0"
101
+ platform:
97
102
  client:
98
103
  type: feed reader
99
104
  name: Feeddler RSS Reader
100
105
  version: "2.4"
101
106
  device:
102
- type: desktop
103
- brand:
107
+ type:
108
+ brand: AP
104
109
  model:
105
- os_family: Mac
110
+ os_family: iOS
106
111
  browser_family: Unknown
107
112
  -
108
113
  user_agent: FeeddlerRSS/2.4 CFNetwork/548.1.4 Darwin/11.0.0
109
114
  os:
110
- name: Mac
111
- short_name: MAC
112
- version:
115
+ name: iOS
116
+ short_name: IOS
117
+ version: "5.1"
118
+ platform:
113
119
  client:
114
120
  type: feed reader
115
121
  name: Feeddler RSS Reader
116
122
  version: "2.4"
117
123
  device:
118
- type: desktop
119
- brand:
124
+ type:
125
+ brand: AP
120
126
  model:
121
- os_family: Mac
127
+ os_family: iOS
122
128
  browser_family: Unknown
123
129
  -
124
130
  user_agent: FeeddlerRSS 2.4 (iPad; iPhone OS 5.1.1; en_US)
@@ -126,6 +132,7 @@
126
132
  name: iOS
127
133
  short_name: IOS
128
134
  version: "5.1.1"
135
+ platform:
129
136
  client:
130
137
  type: feed reader
131
138
  name: Feeddler RSS Reader
@@ -155,6 +162,7 @@
155
162
  name: GNU/Linux
156
163
  short_name: LIN
157
164
  version:
165
+ platform:
158
166
  client:
159
167
  type: feed reader
160
168
  name: Liferea
@@ -171,6 +179,7 @@
171
179
  name: GNU/Linux
172
180
  short_name: LIN
173
181
  version:
182
+ platform:
174
183
  client:
175
184
  type: feed reader
176
185
  name: Liferea
@@ -187,6 +196,7 @@
187
196
  name: GNU/Linux
188
197
  short_name: LIN
189
198
  version:
199
+ platform:
190
200
  client:
191
201
  type: feed reader
192
202
  name: Liferea
@@ -203,6 +213,7 @@
203
213
  name: Mac
204
214
  short_name: MAC
205
215
  version: "10.9.2"
216
+ platform:
206
217
  client:
207
218
  type: feed reader
208
219
  name: NetNewsWire
@@ -219,6 +230,7 @@
219
230
  name: Mac
220
231
  short_name: MAC
221
232
  version: "10.9.2"
233
+ platform:
222
234
  client:
223
235
  type: feed reader
224
236
  name: NetNewsWire
@@ -235,6 +247,7 @@
235
247
  name: Mac
236
248
  short_name: MAC
237
249
  version:
250
+ platform:
238
251
  client:
239
252
  type: feed reader
240
253
  name: NetNewsWire
@@ -251,6 +264,7 @@
251
264
  name: GNU/Linux
252
265
  short_name: LIN
253
266
  version:
267
+ platform: x64
254
268
  client:
255
269
  type: feed reader
256
270
  name: Newsbeuter
@@ -267,6 +281,7 @@
267
281
  name: iOS
268
282
  short_name: IOS
269
283
  version:
284
+ platform:
270
285
  client:
271
286
  type: feed reader
272
287
  name: NewsBlur Mobile App
@@ -283,6 +298,7 @@
283
298
  name: iOS
284
299
  short_name: IOS
285
300
  version:
301
+ platform:
286
302
  client:
287
303
  type: feed reader
288
304
  name: NewsBlur Mobile App
@@ -296,18 +312,19 @@
296
312
  -
297
313
  user_agent: NewsBlur/4.0.1 CFNetwork/672.1.13 Darwin/14.0.0
298
314
  os:
299
- name: Mac
300
- short_name: MAC
301
- version:
315
+ name: iOS
316
+ short_name: IOS
317
+ version: "7.1"
318
+ platform:
302
319
  client:
303
320
  type: feed reader
304
321
  name: NewsBlur
305
322
  version: "4.0.1"
306
323
  device:
307
- type: desktop
308
- brand:
324
+ type:
325
+ brand: AP
309
326
  model:
310
- os_family: Mac
327
+ os_family: iOS
311
328
  browser_family: Unknown
312
329
  -
313
330
  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
@@ -315,6 +332,7 @@
315
332
  name: GNU/Linux
316
333
  short_name: LIN
317
334
  version:
335
+ platform: x86
318
336
  client:
319
337
  type: feed reader
320
338
  name: Newsbeuter
@@ -331,6 +349,7 @@
331
349
  name: iOS
332
350
  short_name: IOS
333
351
  version:
352
+ platform:
334
353
  client:
335
354
  type: feed reader
336
355
  name: Pulp
@@ -347,6 +366,7 @@
347
366
  name: Mac
348
367
  short_name: MAC
349
368
  version: "10.9.2"
369
+ platform:
350
370
  client:
351
371
  type: feed reader
352
372
  name: ReadKit
@@ -362,32 +382,34 @@
362
382
  os:
363
383
  name: Mac
364
384
  short_name: MAC
365
- version:
385
+ version: "10.9"
386
+ platform: x64
366
387
  client:
367
388
  type: feed reader
368
389
  name: ReadKit
369
390
  version: "7017"
370
391
  device:
371
392
  type: desktop
372
- brand:
393
+ brand: AP
373
394
  model:
374
395
  os_family: Mac
375
396
  browser_family: Unknown
376
397
  -
377
398
  user_agent: Reeder/3.2 CFNetwork/672.1.12 Darwin/14.0.0
378
399
  os:
379
- name: Mac
380
- short_name: MAC
381
- version:
400
+ name: iOS
401
+ short_name: IOS
402
+ version: "7.1"
403
+ platform:
382
404
  client:
383
405
  type: feed reader
384
406
  name: Reeder
385
407
  version: "3.2"
386
408
  device:
387
- type: desktop
388
- brand:
409
+ type:
410
+ brand: AP
389
411
  model:
390
- os_family: Mac
412
+ os_family: iOS
391
413
  browser_family: Unknown
392
414
  -
393
415
  user_agent: RssBandit/1.9.0.1002
@@ -408,6 +430,7 @@
408
430
  name: Windows
409
431
  short_name: WIN
410
432
  version: "NT"
433
+ platform:
411
434
  client:
412
435
  type: feed reader
413
436
  name: RSS Bandit
@@ -437,6 +460,7 @@
437
460
  name: Windows
438
461
  short_name: WIN
439
462
  version:
463
+ platform:
440
464
  client:
441
465
  type: feed reader
442
466
  name: RSSOwl
@@ -4,6 +4,7 @@
4
4
  name: GNU/Linux
5
5
  short_name: LIN
6
6
  version:
7
+ platform: x86
7
8
  client:
8
9
  type: mediaplayer
9
10
  name: Songbird
@@ -20,6 +21,7 @@
20
21
  name: GNU/Linux
21
22
  short_name: LIN
22
23
  version:
24
+ platform: x86
23
25
  client:
24
26
  type: mediaplayer
25
27
  name: Nightingale
@@ -36,6 +38,7 @@
36
38
  name: Mac
37
39
  short_name: MAC
38
40
  version: "10.7"
41
+ platform:
39
42
  client:
40
43
  type: mediaplayer
41
44
  name: iTunes
@@ -52,6 +55,7 @@
52
55
  name: Windows
53
56
  short_name: WIN
54
57
  version: "7"
58
+ platform:
55
59
  client:
56
60
  type: mediaplayer
57
61
  name: iTunes
@@ -81,6 +85,7 @@
81
85
  name: BlackBerry OS
82
86
  short_name: BLB
83
87
  version:
88
+ platform:
84
89
  client:
85
90
  type: mediaplayer
86
91
  name: FlyCast
@@ -91,12 +96,26 @@
91
96
  model: BlackBerry
92
97
  os_family: BlackBerry
93
98
  browser_family: Unknown
99
+ -
100
+ user_agent: NSPlayer/10.0.0.4072 WMFSDK/10.0
101
+ os: [ ]
102
+ client:
103
+ type: mediaplayer
104
+ name: Windows Media Player
105
+ version: "10.0.0.4072"
106
+ device:
107
+ type:
108
+ brand:
109
+ model:
110
+ os_family: Unknown
111
+ browser_family: Unknown
94
112
  -
95
113
  user_agent: XBMC/9.04 r19840 (Mac OS X; Darwin 9.6.0; http://www.xbmc.org)
96
114
  os:
97
115
  name: Mac
98
116
  short_name: MAC
99
117
  version:
118
+ platform:
100
119
  client:
101
120
  type: mediaplayer
102
121
  name: XBMC
@@ -110,18 +129,19 @@
110
129
  -
111
130
  user_agent: SubStream/0.7 CFNetwork/485.12.30 Darwin/10.4.0
112
131
  os:
113
- name: Mac
114
- short_name: MAC
115
- version:
132
+ name: iOS
133
+ short_name: IOS
134
+ version: "4.2"
135
+ platform:
116
136
  client:
117
137
  type: mediaplayer
118
138
  name: SubStream
119
139
  version: "0.7"
120
140
  device:
121
- type: desktop
122
- brand:
141
+ type:
142
+ brand: AP
123
143
  model:
124
- os_family: Mac
144
+ os_family: iOS
125
145
  browser_family: Unknown
126
146
  -
127
147
  user_agent: Samsung GT-I9505 stagefright/1.2 (Linux;Android 4.4.2)
@@ -129,6 +149,7 @@
129
149
  name: Android
130
150
  short_name: AND
131
151
  version: "4.4.2"
152
+ platform:
132
153
  client:
133
154
  type: mediaplayer
134
155
  name: Stagefright
@@ -145,6 +166,7 @@
145
166
  name: Mac
146
167
  short_name: MAC
147
168
  version: "10.10.3"
169
+ platform:
148
170
  client:
149
171
  type: mediaplayer
150
172
  name: Kodi