device_detector 1.0.4 → 1.0.7
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +8 -7
- data/lib/device_detector/browser.rb +364 -0
- data/lib/device_detector/client.rb +8 -0
- data/lib/device_detector/device.rb +1204 -2
- data/lib/device_detector/os.rb +39 -12
- data/lib/device_detector/parser.rb +1 -1
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector/version_extractor.rb +28 -0
- data/lib/device_detector.rb +57 -13
- data/regexes/bots.yml +651 -61
- data/regexes/client/browser_engine.yml +7 -1
- data/regexes/client/browsers.yml +774 -78
- data/regexes/client/feed_readers.yml +4 -10
- data/regexes/client/libraries.yml +71 -2
- data/regexes/client/mediaplayers.yml +25 -1
- data/regexes/client/mobile_apps.yml +923 -73
- data/regexes/client/pim.yml +65 -2
- data/regexes/device/cameras.yml +5 -5
- data/regexes/device/car_browsers.yml +16 -0
- data/regexes/device/consoles.yml +13 -1
- data/regexes/device/mobiles.yml +17029 -3889
- data/regexes/device/notebooks.yml +114 -0
- data/regexes/device/portable_media_player.yml +36 -9
- data/regexes/device/shell_tv.yml +117 -0
- data/regexes/device/televisions.yml +439 -34
- data/regexes/oss.yml +620 -284
- metadata +9 -131
- data/.gitignore +0 -14
- data/.rubocop.yml +0 -49
- data/.ruby-version +0 -1
- data/.travis.yml +0 -14
- data/Gemfile +0 -8
- data/Rakefile +0 -85
- data/device_detector.gemspec +0 -27
- data/spec/device_detector/bot_fixtures_spec.rb +0 -30
- data/spec/device_detector/client_fixtures_spec.rb +0 -31
- data/spec/device_detector/concrete_user_agent_spec.rb +0 -135
- data/spec/device_detector/detector_fixtures_spec.rb +0 -100
- data/spec/device_detector/device_fixtures_spec.rb +0 -36
- data/spec/device_detector/device_spec.rb +0 -131
- data/spec/device_detector/memory_cache_spec.rb +0 -148
- data/spec/device_detector/model_extractor_spec.rb +0 -63
- data/spec/device_detector/os_fixtures_spec.rb +0 -26
- data/spec/device_detector/version_extractor_spec.rb +0 -79
- data/spec/device_detector_spec.rb +0 -189
- data/spec/fixtures/client/browser.yml +0 -2836
- data/spec/fixtures/client/feed_reader.yml +0 -199
- data/spec/fixtures/client/library.yml +0 -193
- data/spec/fixtures/client/mediaplayer.yml +0 -163
- data/spec/fixtures/client/mobile_app.yml +0 -217
- data/spec/fixtures/client/pim.yml +0 -115
- data/spec/fixtures/detector/bots.yml +0 -3726
- data/spec/fixtures/detector/camera.yml +0 -141
- data/spec/fixtures/detector/car_browser.yml +0 -81
- data/spec/fixtures/detector/console.yml +0 -321
- data/spec/fixtures/detector/desktop.yml +0 -5461
- data/spec/fixtures/detector/feature_phone.yml +0 -891
- data/spec/fixtures/detector/feed_reader.yml +0 -551
- data/spec/fixtures/detector/mediaplayer.yml +0 -253
- data/spec/fixtures/detector/mobile_apps.yml +0 -494
- data/spec/fixtures/detector/phablet.yml +0 -4167
- data/spec/fixtures/detector/portable_media_player.yml +0 -178
- data/spec/fixtures/detector/smart_display.yml +0 -61
- data/spec/fixtures/detector/smart_speaker.yml +0 -55
- data/spec/fixtures/detector/smartphone-1.yml +0 -9927
- data/spec/fixtures/detector/smartphone-10.yml +0 -9977
- data/spec/fixtures/detector/smartphone-11.yml +0 -9891
- data/spec/fixtures/detector/smartphone-12.yml +0 -9906
- data/spec/fixtures/detector/smartphone-13.yml +0 -9920
- data/spec/fixtures/detector/smartphone-14.yml +0 -2662
- data/spec/fixtures/detector/smartphone-2.yml +0 -9992
- data/spec/fixtures/detector/smartphone-3.yml +0 -9945
- data/spec/fixtures/detector/smartphone-4.yml +0 -9923
- data/spec/fixtures/detector/smartphone-5.yml +0 -9914
- data/spec/fixtures/detector/smartphone-6.yml +0 -9962
- data/spec/fixtures/detector/smartphone-7.yml +0 -9899
- data/spec/fixtures/detector/smartphone-8.yml +0 -9931
- data/spec/fixtures/detector/smartphone-9.yml +0 -9899
- data/spec/fixtures/detector/smartphone.yml +0 -9984
- data/spec/fixtures/detector/tablet-1.yml +0 -9995
- data/spec/fixtures/detector/tablet-2.yml +0 -9977
- data/spec/fixtures/detector/tablet-3.yml +0 -9959
- data/spec/fixtures/detector/tablet-4.yml +0 -4528
- data/spec/fixtures/detector/tablet.yml +0 -9971
- data/spec/fixtures/detector/tv.yml +0 -4933
- data/spec/fixtures/detector/unknown.yml +0 -3236
- data/spec/fixtures/detector/wearable.yml +0 -61
- data/spec/fixtures/device/camera.yml +0 -19
- data/spec/fixtures/device/car_browser.yml +0 -13
- data/spec/fixtures/device/console.yml +0 -79
- data/spec/fixtures/parser/oss.yml +0 -1082
- data/spec/fixtures/parser/vendorfragments.yml +0 -168
- data/spec/spec_helper.rb +0 -9
data/regexes/client/pim.yml
CHANGED
|
@@ -9,10 +9,20 @@
|
|
|
9
9
|
name: 'Outlook Express'
|
|
10
10
|
version: '$1'
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
# Outlook https://apps.apple.com/ru/app/microsoft-outlook/id951937596
|
|
13
|
+
- regex: '^Outlook-iOS/(?:.+\((\d+[\.\d]+)\)$)?'
|
|
13
14
|
name: 'Microsoft Outlook'
|
|
14
15
|
version: '$1'
|
|
15
16
|
|
|
17
|
+
- regex: '(?:(?:Microsoft )?Outlook|MacOutlook)(?:[/ ](\d+[\.\d]+))?'
|
|
18
|
+
name: 'Microsoft Outlook'
|
|
19
|
+
version: '$1'
|
|
20
|
+
|
|
21
|
+
# Default Mail Client for Windows
|
|
22
|
+
- regex: 'WindowsMail(?:/(\d+[\.\d]+))'
|
|
23
|
+
name: 'Windows Mail'
|
|
24
|
+
version: '$1'
|
|
25
|
+
|
|
16
26
|
- regex: '(?:Thunderbird|Icedove|Shredder)(?:/(\d+[\.\d]+))?'
|
|
17
27
|
name: 'Thunderbird'
|
|
18
28
|
version: '$1'
|
|
@@ -48,4 +58,57 @@
|
|
|
48
58
|
# SeaMonkey
|
|
49
59
|
- regex: '(?:SeaMonkey|Iceape)(?:/(\d+[\.\d]+))?'
|
|
50
60
|
name: 'SeaMonkey'
|
|
51
|
-
version: '$1'
|
|
61
|
+
version: '$1'
|
|
62
|
+
|
|
63
|
+
# Live5ch
|
|
64
|
+
- regex: 'Live5ch/(\d+[\.\d]+)'
|
|
65
|
+
name: 'Live5ch'
|
|
66
|
+
version: '$1'
|
|
67
|
+
|
|
68
|
+
- regex: 'JaneView/'
|
|
69
|
+
name: 'JaneView'
|
|
70
|
+
version: ''
|
|
71
|
+
|
|
72
|
+
- regex: 'BathyScaphe/'
|
|
73
|
+
name: 'BathyScaphe'
|
|
74
|
+
version: ''
|
|
75
|
+
|
|
76
|
+
# Raindrop.io (https://raindrop.io/)
|
|
77
|
+
- regex: 'Raindrop.io/(\d+[\.\d]+)'
|
|
78
|
+
name: 'Raindrop.io'
|
|
79
|
+
version: '$1'
|
|
80
|
+
|
|
81
|
+
# Franz (https://meetfranz.com/)
|
|
82
|
+
- regex: 'Franz/(\d+[\.\d]+)'
|
|
83
|
+
name: 'Franz'
|
|
84
|
+
version: '$1'
|
|
85
|
+
|
|
86
|
+
# Mailspring (https://www.electronjs.org/apps/mailspring)
|
|
87
|
+
- regex: 'Mailspring/(\d+[\.\d]+)'
|
|
88
|
+
name: 'Mailspring'
|
|
89
|
+
version: '$1'
|
|
90
|
+
|
|
91
|
+
# Notion (https://www.notion.so/)
|
|
92
|
+
- regex: 'Notion/(\d+[\.\d]+)'
|
|
93
|
+
name: 'Notion'
|
|
94
|
+
version: '$1'
|
|
95
|
+
|
|
96
|
+
# Basecamp (https://basecamp.com/)
|
|
97
|
+
- regex: 'Basecamp[0-9]/?(\d+[\.\d]+)'
|
|
98
|
+
name: 'Basecamp'
|
|
99
|
+
version: '$1'
|
|
100
|
+
|
|
101
|
+
# Evernote (https://evernote.com/)
|
|
102
|
+
- regex: 'Evernote/?(\d+[\.\d]+)'
|
|
103
|
+
name: 'Evernote'
|
|
104
|
+
version: '$1'
|
|
105
|
+
|
|
106
|
+
# Rambox Pro (https://rambox.app/)
|
|
107
|
+
- regex: 'ramboxpro/(\d+\.[\.\d]+)?'
|
|
108
|
+
name: 'Rambox Pro'
|
|
109
|
+
version: '$1'
|
|
110
|
+
|
|
111
|
+
# Mailbird (https://www.getmailbird.com/)
|
|
112
|
+
- regex: 'Mailbird/(\d+\.[\.\d]+)/'
|
|
113
|
+
name: 'Mailbird'
|
|
114
|
+
version: '$1'
|
data/regexes/device/cameras.yml
CHANGED
|
@@ -17,12 +17,12 @@ Samsung:
|
|
|
17
17
|
device: 'camera'
|
|
18
18
|
models:
|
|
19
19
|
- regex: 'EK-GN120'
|
|
20
|
-
model: '
|
|
20
|
+
model: 'Galaxy NX'
|
|
21
21
|
- regex: 'EK-GC100'
|
|
22
|
-
model: '
|
|
22
|
+
model: 'Galaxy Camera'
|
|
23
23
|
- regex: 'EK-GC110'
|
|
24
|
-
model: '
|
|
24
|
+
model: 'Galaxy Camera WiFi only'
|
|
25
25
|
- regex: 'EK-GC200'
|
|
26
|
-
model: '
|
|
26
|
+
model: 'Galaxy Camera 2'
|
|
27
27
|
- regex: 'EK-GC([0-9]{3})'
|
|
28
|
-
model: '
|
|
28
|
+
model: 'Galaxy Camera $1'
|
|
@@ -14,3 +14,19 @@ Tesla:
|
|
|
14
14
|
model: 'Model S'
|
|
15
15
|
- regex: 'Tesla/[0-9.]+'
|
|
16
16
|
model: ''
|
|
17
|
+
|
|
18
|
+
# Mac Audio
|
|
19
|
+
MAC AUDIO:
|
|
20
|
+
regex: 'Mac Audio Spro'
|
|
21
|
+
device: 'car browser'
|
|
22
|
+
models:
|
|
23
|
+
- regex: 'Spro'
|
|
24
|
+
model: 'S Pro'
|
|
25
|
+
|
|
26
|
+
# Topway
|
|
27
|
+
Topway:
|
|
28
|
+
regex: 'sp9853i_1h10_vmm'
|
|
29
|
+
device: 'car browser'
|
|
30
|
+
models:
|
|
31
|
+
- regex: 'sp9853i_1h10_vmm'
|
|
32
|
+
model: 'TS9'
|
data/regexes/device/consoles.yml
CHANGED
|
@@ -14,8 +14,14 @@ Microsoft:
|
|
|
14
14
|
regex: 'Xbox'
|
|
15
15
|
device: 'console'
|
|
16
16
|
models:
|
|
17
|
+
- regex: 'Xbox Series X'
|
|
18
|
+
model: 'Xbox Series X'
|
|
19
|
+
- regex: 'Xbox One X'
|
|
20
|
+
model: 'Xbox One X'
|
|
17
21
|
- regex: 'Xbox One'
|
|
18
22
|
model: 'Xbox One'
|
|
23
|
+
- regex: 'XBOX_ONE_ED'
|
|
24
|
+
model: 'Xbox One S'
|
|
19
25
|
- regex: 'Xbox'
|
|
20
26
|
model: 'Xbox 360'
|
|
21
27
|
|
|
@@ -35,6 +41,12 @@ Sega:
|
|
|
35
41
|
model: 'Dreamcast'
|
|
36
42
|
|
|
37
43
|
Sony:
|
|
38
|
-
regex: 'PlayStation (3|4 Pro|4|Portable|Vita)'
|
|
44
|
+
regex: 'PlayStation (3|4 Pro|4|5|Portable|Vita)'
|
|
39
45
|
device: 'console'
|
|
40
46
|
model: 'PlayStation $1'
|
|
47
|
+
|
|
48
|
+
# Retroid Pocket (www.goretroid.com)
|
|
49
|
+
Retroid Pocket:
|
|
50
|
+
regex: 'Retroid Pocket 2Plus'
|
|
51
|
+
device: 'console'
|
|
52
|
+
model: '2 Plus'
|