device_detector 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|