device_detector 1.0.3 → 1.0.4
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 +5 -5
- data/.rubocop.yml +49 -0
- data/.ruby-version +1 -0
- data/.travis.yml +1 -1
- data/CHANGELOG.md +5 -0
- data/README.md +4 -4
- data/Rakefile +6 -17
- data/device_detector.gemspec +1 -0
- data/lib/device_detector.rb +17 -28
- data/lib/device_detector/bot.rb +2 -2
- data/lib/device_detector/client.rb +3 -2
- data/lib/device_detector/device.rb +44 -21
- data/lib/device_detector/memory_cache.rb +5 -5
- data/lib/device_detector/metadata_extractor.rb +7 -8
- data/lib/device_detector/model_extractor.rb +3 -3
- data/lib/device_detector/name_extractor.rb +2 -2
- data/lib/device_detector/os.rb +121 -114
- data/lib/device_detector/parser.rb +22 -9
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector/version_extractor.rb +2 -3
- data/regexes/bots.yml +228 -12
- data/regexes/client/browser_engine.yml +4 -1
- data/regexes/client/browsers.yml +358 -34
- data/regexes/client/feed_readers.yml +1 -1
- data/regexes/client/libraries.yml +16 -1
- data/regexes/client/mediaplayers.yml +14 -2
- data/regexes/client/mobile_apps.yml +26 -2
- data/regexes/client/pim.yml +1 -1
- data/regexes/device/cameras.yml +1 -1
- data/regexes/device/car_browsers.yml +7 -3
- data/regexes/device/consoles.yml +3 -3
- data/regexes/device/mobiles.yml +2468 -823
- data/regexes/device/portable_media_player.yml +2 -2
- data/regexes/device/televisions.yml +1 -1
- data/regexes/oss.yml +20 -5
- data/regexes/vendorfragments.yml +5 -1
- data/spec/device_detector/device_spec.rb +4 -24
- data/spec/fixtures/client/browser.yml +632 -2
- data/spec/fixtures/client/library.yml +18 -0
- data/spec/fixtures/client/mobile_app.yml +24 -0
- data/spec/fixtures/detector/bots.yml +533 -67
- data/spec/fixtures/detector/camera.yml +20 -0
- data/spec/fixtures/detector/car_browser.yml +60 -0
- data/spec/fixtures/detector/console.yml +40 -0
- data/spec/fixtures/detector/desktop.yml +140 -40
- data/spec/fixtures/detector/mediaplayer.yml +43 -0
- data/spec/fixtures/detector/mobile_apps.yml +40 -2
- data/spec/fixtures/detector/phablet.yml +383 -1
- data/spec/fixtures/detector/smart_speaker.yml +55 -0
- data/spec/fixtures/detector/smartphone-1.yml +3669 -3695
- data/spec/fixtures/detector/smartphone-10.yml +4147 -4094
- data/spec/fixtures/detector/smartphone-11.yml +4475 -4473
- data/spec/fixtures/detector/smartphone-12.yml +5502 -4251
- data/spec/fixtures/detector/smartphone-13.yml +9920 -0
- data/spec/fixtures/detector/smartphone-14.yml +2662 -0
- data/spec/fixtures/detector/smartphone-2.yml +3738 -3713
- data/spec/fixtures/detector/smartphone-3.yml +3970 -3912
- data/spec/fixtures/detector/smartphone-4.yml +4518 -4506
- data/spec/fixtures/detector/smartphone-5.yml +3645 -3664
- data/spec/fixtures/detector/smartphone-6.yml +3868 -3829
- data/spec/fixtures/detector/smartphone-7.yml +3992 -3985
- data/spec/fixtures/detector/smartphone-8.yml +4510 -4475
- data/spec/fixtures/detector/smartphone-9.yml +4226 -4255
- data/spec/fixtures/detector/smartphone.yml +3197 -3197
- data/spec/fixtures/detector/tablet-1.yml +3940 -3968
- data/spec/fixtures/detector/tablet-2.yml +3773 -3764
- data/spec/fixtures/detector/tablet-3.yml +5243 -3071
- data/spec/fixtures/detector/tablet-4.yml +4528 -0
- data/spec/fixtures/detector/tablet.yml +3145 -3125
- data/spec/fixtures/detector/tv.yml +1695 -95
- data/spec/fixtures/detector/unknown.yml +13 -60
- data/spec/fixtures/detector/wearable.yml +61 -0
- data/spec/fixtures/device/car_browser.yml +6 -0
- data/spec/fixtures/parser/oss.yml +36 -1
- data/spec/fixtures/parser/vendorfragments.yml +6 -0
- metadata +32 -7
@@ -54,6 +54,19 @@
|
|
54
54
|
model: ""
|
55
55
|
os_family: Unknown
|
56
56
|
browser_family: Unknown
|
57
|
+
-
|
58
|
+
user_agent: Google-HTTP-Java-Client/1.17.0-rc (gzip)
|
59
|
+
os: [ ]
|
60
|
+
client:
|
61
|
+
type: library
|
62
|
+
name: Google HTTP Java Client
|
63
|
+
version: "1.17.0-rc"
|
64
|
+
device:
|
65
|
+
type: ""
|
66
|
+
brand: ""
|
67
|
+
model: ""
|
68
|
+
os_family: Unknown
|
69
|
+
browser_family: Unknown
|
57
70
|
-
|
58
71
|
user_agent: gPodder/3.5.2 (+http://gpodder.org/)
|
59
72
|
os: [ ]
|
@@ -2536,26 +2549,6 @@
|
|
2536
2549
|
model: ""
|
2537
2550
|
os_family: Android
|
2538
2551
|
browser_family: Unknown
|
2539
|
-
-
|
2540
|
-
user_agent: 'Mozilla/5.0 (Linux; U; Android 4.0.4; fa-ir) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.10990AP Mobile'
|
2541
|
-
os:
|
2542
|
-
name: Android
|
2543
|
-
short_name: AND
|
2544
|
-
version: "4.0.4"
|
2545
|
-
platform: ""
|
2546
|
-
client:
|
2547
|
-
type: browser
|
2548
|
-
name: Puffin
|
2549
|
-
short_name: PU
|
2550
|
-
version: "2.10990"
|
2551
|
-
engine: WebKit
|
2552
|
-
engine_version: "534.35"
|
2553
|
-
device:
|
2554
|
-
type: ""
|
2555
|
-
brand: ""
|
2556
|
-
model: ""
|
2557
|
-
os_family: Android
|
2558
|
-
browser_family: Unknown
|
2559
2552
|
-
|
2560
2553
|
user_agent: Mozilla/5.0 (Linux; U; Android 4.0.9; ru-ru; X710d Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
|
2561
2554
|
os:
|
@@ -2873,26 +2866,6 @@
|
|
2873
2866
|
model: ""
|
2874
2867
|
os_family: Android
|
2875
2868
|
browser_family: Unknown
|
2876
|
-
-
|
2877
|
-
user_agent: Mozilla/5.0 (Linux; Android 4.4.2; Florida Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36
|
2878
|
-
os:
|
2879
|
-
name: Android
|
2880
|
-
short_name: AND
|
2881
|
-
version: "4.4.2"
|
2882
|
-
platform: ""
|
2883
|
-
client:
|
2884
|
-
type: browser
|
2885
|
-
name: Chrome Webview
|
2886
|
-
short_name: CV
|
2887
|
-
version: "30.0.0.0"
|
2888
|
-
engine: Blink
|
2889
|
-
engine_version: ""
|
2890
|
-
device:
|
2891
|
-
type: ""
|
2892
|
-
brand: ""
|
2893
|
-
model: ""
|
2894
|
-
os_family: Android
|
2895
|
-
browser_family: Chrome
|
2896
2869
|
-
|
2897
2870
|
user_agent: 'Dalvik/2.1.0 (Linux## U## Android 7.1.1## Chromebook 14 (CB3-431) Build/R63-10032.86.0)'
|
2898
2871
|
os:
|
@@ -2913,26 +2886,6 @@
|
|
2913
2886
|
model: ""
|
2914
2887
|
os_family: Android
|
2915
2888
|
browser_family: Android Browser
|
2916
|
-
-
|
2917
|
-
user_agent: Mozilla/5.0 (Linux; Android 9) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.92 Mobile Safari/537.36 DuckDuckGo/5
|
2918
|
-
os:
|
2919
|
-
name: Android
|
2920
|
-
short_name: AND
|
2921
|
-
version: "9"
|
2922
|
-
platform: ""
|
2923
|
-
client:
|
2924
|
-
type: browser
|
2925
|
-
name: DuckDuckGo Privacy Browser
|
2926
|
-
short_name: DD
|
2927
|
-
version: "5"
|
2928
|
-
engine: Blink
|
2929
|
-
engine_version: ""
|
2930
|
-
device:
|
2931
|
-
type: ""
|
2932
|
-
brand: ""
|
2933
|
-
model: ""
|
2934
|
-
os_family: Android
|
2935
|
-
browser_family: Chrome
|
2936
2889
|
-
|
2937
2890
|
user_agent: bPod
|
2938
2891
|
os:
|
@@ -0,0 +1,61 @@
|
|
1
|
+
---
|
2
|
+
-
|
3
|
+
user_agent: Mozilla/5.0 (Linux; Android 8.0; LEO-BX9 Build/OWDD.180926.001.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Cr4 Mobile Safari/537.36
|
4
|
+
os:
|
5
|
+
name: Android
|
6
|
+
short_name: AND
|
7
|
+
version: "8.0"
|
8
|
+
platform: ""
|
9
|
+
client:
|
10
|
+
type: browser
|
11
|
+
name: Chrome
|
12
|
+
short_name: CH
|
13
|
+
version: "53.0.2785.143"
|
14
|
+
engine: Blink
|
15
|
+
engine_version: ""
|
16
|
+
device:
|
17
|
+
type: wearable
|
18
|
+
brand: HU
|
19
|
+
model: Smart Watch 2
|
20
|
+
os_family: Android
|
21
|
+
browser_family: Chrome
|
22
|
+
-
|
23
|
+
user_agent: Mozilla/5.0 Linux; Android 7.1.1; LG Watch Urbane Build/NWD1.180306.004 AppleWebKit/537.36 KHTML, like Gecko Chrome/19.77.34.5 Mobile Safari/537.36
|
24
|
+
os:
|
25
|
+
name: Android
|
26
|
+
short_name: AND
|
27
|
+
version: "7.1.1"
|
28
|
+
platform: ""
|
29
|
+
client:
|
30
|
+
type: browser
|
31
|
+
name: Chrome Mobile
|
32
|
+
short_name: CM
|
33
|
+
version: "19.77.34.5"
|
34
|
+
engine: WebKit
|
35
|
+
engine_version: "537.36"
|
36
|
+
device:
|
37
|
+
type: wearable
|
38
|
+
brand: LG
|
39
|
+
model: Watch Urbane
|
40
|
+
os_family: Android
|
41
|
+
browser_family: Chrome
|
42
|
+
-
|
43
|
+
user_agent: Mozilla/5.0 (Linux; Tizen 4.0; SAMSUNG SM-R820) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.0 Chrome/56.0.2924.0 Mobile Safari/537.36
|
44
|
+
os:
|
45
|
+
name: Tizen
|
46
|
+
short_name: TIZ
|
47
|
+
version: "4.0"
|
48
|
+
platform: ""
|
49
|
+
client:
|
50
|
+
type: browser
|
51
|
+
name: Samsung Browser
|
52
|
+
short_name: SB
|
53
|
+
version: "2.0"
|
54
|
+
engine: WebKit
|
55
|
+
engine_version: "537.36"
|
56
|
+
device:
|
57
|
+
type: wearable
|
58
|
+
brand: SA
|
59
|
+
model: GALAXY Watch Active 2
|
60
|
+
os_family: Other Mobile
|
61
|
+
browser_family: Chrome
|
@@ -1044,4 +1044,39 @@
|
|
1044
1044
|
name: iOS
|
1045
1045
|
short_name: IOS
|
1046
1046
|
version: ""
|
1047
|
-
platform:
|
1047
|
+
platform:
|
1048
|
+
-
|
1049
|
+
user_agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 Ordissimo/3.8.6.6+svn37147
|
1050
|
+
os:
|
1051
|
+
name: Ordissimo
|
1052
|
+
short_name: ORD
|
1053
|
+
version: ""
|
1054
|
+
platform: x86
|
1055
|
+
-
|
1056
|
+
user_agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 Ordissimo/3.8.20+svn37598
|
1057
|
+
os:
|
1058
|
+
name: Ordissimo
|
1059
|
+
short_name: ORD
|
1060
|
+
version: ""
|
1061
|
+
platform: x64
|
1062
|
+
-
|
1063
|
+
user_agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 webissimo3/3.7.30+svn32090
|
1064
|
+
os:
|
1065
|
+
name: Ordissimo
|
1066
|
+
short_name: ORD
|
1067
|
+
version: ""
|
1068
|
+
platform: x86
|
1069
|
+
-
|
1070
|
+
user_agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:42.0) Gecko/20100101 Firefox/42.0 webissimo3/3.7.22+svn30377
|
1071
|
+
os:
|
1072
|
+
name: Ordissimo
|
1073
|
+
short_name: ORD
|
1074
|
+
version: ""
|
1075
|
+
platform: x64
|
1076
|
+
-
|
1077
|
+
user_agent: Mozilla/5.0 (X11 TOS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 ToGate/72.0.3626.109 Safari/537.36
|
1078
|
+
os:
|
1079
|
+
name: TmaxOS
|
1080
|
+
short_name: TOS
|
1081
|
+
version: ""
|
1082
|
+
platform: x64
|
@@ -160,3 +160,9 @@
|
|
160
160
|
-
|
161
161
|
useragent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; TAJB; rv:11.0) like Gecko
|
162
162
|
vendor: TS
|
163
|
+
-
|
164
|
+
useragent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 Ordissimo/3.8.6.6+svn37147
|
165
|
+
vendor: OS
|
166
|
+
-
|
167
|
+
useragent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 webissimo3/3.7.30+svn32090
|
168
|
+
vendor: OS
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: device_detector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mati Sójka
|
8
8
|
- Ben Zimmer
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-06-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0.10'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rubocop
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.85.1
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.85.1
|
56
70
|
description: Precise and fast user agent parser and device detector, backed by the
|
57
71
|
largest and most up-to-date agent and device database
|
58
72
|
email:
|
@@ -62,6 +76,8 @@ extensions: []
|
|
62
76
|
extra_rdoc_files: []
|
63
77
|
files:
|
64
78
|
- ".gitignore"
|
79
|
+
- ".rubocop.yml"
|
80
|
+
- ".ruby-version"
|
65
81
|
- ".travis.yml"
|
66
82
|
- CHANGELOG.md
|
67
83
|
- Gemfile
|
@@ -126,10 +142,13 @@ files:
|
|
126
142
|
- spec/fixtures/detector/phablet.yml
|
127
143
|
- spec/fixtures/detector/portable_media_player.yml
|
128
144
|
- spec/fixtures/detector/smart_display.yml
|
145
|
+
- spec/fixtures/detector/smart_speaker.yml
|
129
146
|
- spec/fixtures/detector/smartphone-1.yml
|
130
147
|
- spec/fixtures/detector/smartphone-10.yml
|
131
148
|
- spec/fixtures/detector/smartphone-11.yml
|
132
149
|
- spec/fixtures/detector/smartphone-12.yml
|
150
|
+
- spec/fixtures/detector/smartphone-13.yml
|
151
|
+
- spec/fixtures/detector/smartphone-14.yml
|
133
152
|
- spec/fixtures/detector/smartphone-2.yml
|
134
153
|
- spec/fixtures/detector/smartphone-3.yml
|
135
154
|
- spec/fixtures/detector/smartphone-4.yml
|
@@ -142,9 +161,11 @@ files:
|
|
142
161
|
- spec/fixtures/detector/tablet-1.yml
|
143
162
|
- spec/fixtures/detector/tablet-2.yml
|
144
163
|
- spec/fixtures/detector/tablet-3.yml
|
164
|
+
- spec/fixtures/detector/tablet-4.yml
|
145
165
|
- spec/fixtures/detector/tablet.yml
|
146
166
|
- spec/fixtures/detector/tv.yml
|
147
167
|
- spec/fixtures/detector/unknown.yml
|
168
|
+
- spec/fixtures/detector/wearable.yml
|
148
169
|
- spec/fixtures/device/camera.yml
|
149
170
|
- spec/fixtures/device/car_browser.yml
|
150
171
|
- spec/fixtures/device/console.yml
|
@@ -155,7 +176,7 @@ homepage: http://podigee.github.io/device_detector
|
|
155
176
|
licenses:
|
156
177
|
- LGPL-3.0
|
157
178
|
metadata: {}
|
158
|
-
post_install_message:
|
179
|
+
post_install_message:
|
159
180
|
rdoc_options: []
|
160
181
|
require_paths:
|
161
182
|
- lib
|
@@ -170,9 +191,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
191
|
- !ruby/object:Gem::Version
|
171
192
|
version: '0'
|
172
193
|
requirements: []
|
173
|
-
|
174
|
-
|
175
|
-
signing_key:
|
194
|
+
rubygems_version: 3.0.3
|
195
|
+
signing_key:
|
176
196
|
specification_version: 4
|
177
197
|
summary: Precise and fast user agent parser and device detector
|
178
198
|
test_files:
|
@@ -205,10 +225,13 @@ test_files:
|
|
205
225
|
- spec/fixtures/detector/phablet.yml
|
206
226
|
- spec/fixtures/detector/portable_media_player.yml
|
207
227
|
- spec/fixtures/detector/smart_display.yml
|
228
|
+
- spec/fixtures/detector/smart_speaker.yml
|
208
229
|
- spec/fixtures/detector/smartphone-1.yml
|
209
230
|
- spec/fixtures/detector/smartphone-10.yml
|
210
231
|
- spec/fixtures/detector/smartphone-11.yml
|
211
232
|
- spec/fixtures/detector/smartphone-12.yml
|
233
|
+
- spec/fixtures/detector/smartphone-13.yml
|
234
|
+
- spec/fixtures/detector/smartphone-14.yml
|
212
235
|
- spec/fixtures/detector/smartphone-2.yml
|
213
236
|
- spec/fixtures/detector/smartphone-3.yml
|
214
237
|
- spec/fixtures/detector/smartphone-4.yml
|
@@ -221,9 +244,11 @@ test_files:
|
|
221
244
|
- spec/fixtures/detector/tablet-1.yml
|
222
245
|
- spec/fixtures/detector/tablet-2.yml
|
223
246
|
- spec/fixtures/detector/tablet-3.yml
|
247
|
+
- spec/fixtures/detector/tablet-4.yml
|
224
248
|
- spec/fixtures/detector/tablet.yml
|
225
249
|
- spec/fixtures/detector/tv.yml
|
226
250
|
- spec/fixtures/detector/unknown.yml
|
251
|
+
- spec/fixtures/detector/wearable.yml
|
227
252
|
- spec/fixtures/device/camera.yml
|
228
253
|
- spec/fixtures/device/car_browser.yml
|
229
254
|
- spec/fixtures/device/console.yml
|