device_detector 0.8.2 → 0.9.0

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 (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