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.
Files changed (76) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +49 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +1 -1
  5. data/CHANGELOG.md +5 -0
  6. data/README.md +4 -4
  7. data/Rakefile +6 -17
  8. data/device_detector.gemspec +1 -0
  9. data/lib/device_detector.rb +17 -28
  10. data/lib/device_detector/bot.rb +2 -2
  11. data/lib/device_detector/client.rb +3 -2
  12. data/lib/device_detector/device.rb +44 -21
  13. data/lib/device_detector/memory_cache.rb +5 -5
  14. data/lib/device_detector/metadata_extractor.rb +7 -8
  15. data/lib/device_detector/model_extractor.rb +3 -3
  16. data/lib/device_detector/name_extractor.rb +2 -2
  17. data/lib/device_detector/os.rb +121 -114
  18. data/lib/device_detector/parser.rb +22 -9
  19. data/lib/device_detector/version.rb +1 -1
  20. data/lib/device_detector/version_extractor.rb +2 -3
  21. data/regexes/bots.yml +228 -12
  22. data/regexes/client/browser_engine.yml +4 -1
  23. data/regexes/client/browsers.yml +358 -34
  24. data/regexes/client/feed_readers.yml +1 -1
  25. data/regexes/client/libraries.yml +16 -1
  26. data/regexes/client/mediaplayers.yml +14 -2
  27. data/regexes/client/mobile_apps.yml +26 -2
  28. data/regexes/client/pim.yml +1 -1
  29. data/regexes/device/cameras.yml +1 -1
  30. data/regexes/device/car_browsers.yml +7 -3
  31. data/regexes/device/consoles.yml +3 -3
  32. data/regexes/device/mobiles.yml +2468 -823
  33. data/regexes/device/portable_media_player.yml +2 -2
  34. data/regexes/device/televisions.yml +1 -1
  35. data/regexes/oss.yml +20 -5
  36. data/regexes/vendorfragments.yml +5 -1
  37. data/spec/device_detector/device_spec.rb +4 -24
  38. data/spec/fixtures/client/browser.yml +632 -2
  39. data/spec/fixtures/client/library.yml +18 -0
  40. data/spec/fixtures/client/mobile_app.yml +24 -0
  41. data/spec/fixtures/detector/bots.yml +533 -67
  42. data/spec/fixtures/detector/camera.yml +20 -0
  43. data/spec/fixtures/detector/car_browser.yml +60 -0
  44. data/spec/fixtures/detector/console.yml +40 -0
  45. data/spec/fixtures/detector/desktop.yml +140 -40
  46. data/spec/fixtures/detector/mediaplayer.yml +43 -0
  47. data/spec/fixtures/detector/mobile_apps.yml +40 -2
  48. data/spec/fixtures/detector/phablet.yml +383 -1
  49. data/spec/fixtures/detector/smart_speaker.yml +55 -0
  50. data/spec/fixtures/detector/smartphone-1.yml +3669 -3695
  51. data/spec/fixtures/detector/smartphone-10.yml +4147 -4094
  52. data/spec/fixtures/detector/smartphone-11.yml +4475 -4473
  53. data/spec/fixtures/detector/smartphone-12.yml +5502 -4251
  54. data/spec/fixtures/detector/smartphone-13.yml +9920 -0
  55. data/spec/fixtures/detector/smartphone-14.yml +2662 -0
  56. data/spec/fixtures/detector/smartphone-2.yml +3738 -3713
  57. data/spec/fixtures/detector/smartphone-3.yml +3970 -3912
  58. data/spec/fixtures/detector/smartphone-4.yml +4518 -4506
  59. data/spec/fixtures/detector/smartphone-5.yml +3645 -3664
  60. data/spec/fixtures/detector/smartphone-6.yml +3868 -3829
  61. data/spec/fixtures/detector/smartphone-7.yml +3992 -3985
  62. data/spec/fixtures/detector/smartphone-8.yml +4510 -4475
  63. data/spec/fixtures/detector/smartphone-9.yml +4226 -4255
  64. data/spec/fixtures/detector/smartphone.yml +3197 -3197
  65. data/spec/fixtures/detector/tablet-1.yml +3940 -3968
  66. data/spec/fixtures/detector/tablet-2.yml +3773 -3764
  67. data/spec/fixtures/detector/tablet-3.yml +5243 -3071
  68. data/spec/fixtures/detector/tablet-4.yml +4528 -0
  69. data/spec/fixtures/detector/tablet.yml +3145 -3125
  70. data/spec/fixtures/detector/tv.yml +1695 -95
  71. data/spec/fixtures/detector/unknown.yml +13 -60
  72. data/spec/fixtures/detector/wearable.yml +61 -0
  73. data/spec/fixtures/device/car_browser.yml +6 -0
  74. data/spec/fixtures/parser/oss.yml +36 -1
  75. data/spec/fixtures/parser/vendorfragments.yml +6 -0
  76. 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
@@ -5,3 +5,9 @@
5
5
  type: 6
6
6
  brand: TA
7
7
  model: Model S
8
+ -
9
+ user_agent: Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/75.0.3770.100 Chrome/75.0.3770.100 Safari/537.36 Tesla/2019.40.50.7-ad132c7b057e
10
+ device:
11
+ type: 6
12
+ brand: TA
13
+ model: ""
@@ -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.3
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: 2019-12-09 00:00:00.000000000 Z
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
- rubyforge_project:
174
- rubygems_version: 2.5.1
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