browser 5.1.0 → 5.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/tests.yml +57 -0
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +5 -0
- data/README.md +3 -3
- data/browser.gemspec +3 -3
- data/lib/browser/accept_language.rb +4 -4
- data/lib/browser/alipay.rb +1 -1
- data/lib/browser/base.rb +12 -8
- data/lib/browser/blackberry.rb +1 -1
- data/lib/browser/bot/keyword_matcher.rb +1 -1
- data/lib/browser/browser.rb +1 -2
- data/lib/browser/chrome.rb +2 -2
- data/lib/browser/device.rb +4 -4
- data/lib/browser/device/android.rb +1 -1
- data/lib/browser/device/blackberry_playbook.rb +1 -1
- data/lib/browser/device/ipad.rb +1 -1
- data/lib/browser/device/iphone.rb +1 -1
- data/lib/browser/device/ipod_touch.rb +1 -1
- data/lib/browser/device/kindle.rb +1 -1
- data/lib/browser/device/kindle_fire.rb +1 -1
- data/lib/browser/device/playstation3.rb +1 -1
- data/lib/browser/device/playstation4.rb +1 -1
- data/lib/browser/device/psp.rb +1 -1
- data/lib/browser/device/psvita.rb +1 -1
- data/lib/browser/device/surface.rb +1 -1
- data/lib/browser/device/switch.rb +1 -1
- data/lib/browser/device/tv.rb +1 -1
- data/lib/browser/device/wii.rb +1 -1
- data/lib/browser/device/wiiu.rb +1 -1
- data/lib/browser/device/xbox_360.rb +1 -1
- data/lib/browser/device/xbox_one.rb +1 -1
- data/lib/browser/duck_duck_go.rb +1 -1
- data/lib/browser/edge.rb +2 -2
- data/lib/browser/electron.rb +1 -1
- data/lib/browser/facebook.rb +1 -1
- data/lib/browser/firefox.rb +1 -1
- data/lib/browser/google_search_app.rb +1 -1
- data/lib/browser/huawei_browser.rb +1 -1
- data/lib/browser/instagram.rb +1 -1
- data/lib/browser/internet_explorer.rb +2 -2
- data/lib/browser/maxthon.rb +1 -1
- data/lib/browser/micro_messenger.rb +1 -1
- data/lib/browser/miui_browser.rb +1 -1
- data/lib/browser/nokia.rb +1 -1
- data/lib/browser/opera.rb +1 -1
- data/lib/browser/otter.rb +1 -1
- data/lib/browser/phantom_js.rb +1 -1
- data/lib/browser/platform.rb +17 -11
- data/lib/browser/platform/adobe_air.rb +1 -1
- data/lib/browser/platform/android.rb +1 -1
- data/lib/browser/platform/blackberry.rb +1 -1
- data/lib/browser/platform/chrome_os.rb +1 -1
- data/lib/browser/platform/firefox_os.rb +1 -1
- data/lib/browser/platform/ios.rb +1 -1
- data/lib/browser/platform/kai_os.rb +23 -0
- data/lib/browser/platform/linux.rb +1 -1
- data/lib/browser/platform/mac.rb +1 -1
- data/lib/browser/platform/windows.rb +1 -1
- data/lib/browser/platform/windows_mobile.rb +1 -1
- data/lib/browser/platform/windows_phone.rb +1 -1
- data/lib/browser/qq.rb +1 -1
- data/lib/browser/safari.rb +2 -2
- data/lib/browser/samsung_browser.rb +1 -1
- data/lib/browser/snapchat.rb +1 -1
- data/lib/browser/sougou_browser.rb +1 -1
- data/lib/browser/sputnik.rb +1 -1
- data/lib/browser/uc_browser.rb +1 -1
- data/lib/browser/version.rb +1 -1
- data/lib/browser/weibo.rb +1 -1
- data/lib/browser/yandex.rb +1 -1
- data/test/ua.yml +2 -0
- data/test/unit/bots_test.rb +1 -1
- data/test/unit/device_test.rb +1 -1
- data/test/unit/kai_os_test.rb +31 -0
- data/test/unit/meta_test.rb +1 -1
- data/test/unit/platform_test.rb +1 -1
- metadata +12 -9
- data/.travis.yml +0 -23
data/lib/browser/snapchat.rb
CHANGED
data/lib/browser/sputnik.rb
CHANGED
data/lib/browser/uc_browser.rb
CHANGED
data/lib/browser/version.rb
CHANGED
data/lib/browser/weibo.rb
CHANGED
data/lib/browser/yandex.rb
CHANGED
data/test/ua.yml
CHANGED
@@ -78,6 +78,7 @@ IOS_WEBVIEW: Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/6
|
|
78
78
|
IPAD: "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10"
|
79
79
|
IPHONE: "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3"
|
80
80
|
IPOD: "Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A100a Safari/419.3"
|
81
|
+
JIOPHONE_2: "Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5"
|
81
82
|
KINDLE: "Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600×800; rotate)"
|
82
83
|
KINDLE_FIRE: "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
83
84
|
KINDLE_FIRE_HD: "Mozilla/5.0 (Linux; U; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Safari/535.19 Silk-Accelerated=true"
|
@@ -103,6 +104,7 @@ NINTENDO_SWITCH: "Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/6
|
|
103
104
|
NINTENDO_WII: "Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)"
|
104
105
|
NINTENDO_WIIU: "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.23 NintendoBrowser/1.1.0.7579.EU"
|
105
106
|
NOKIA: "Mozilla/5.0 (Series40; NokiaX3-02/le6.32; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.0.2.62.10"
|
107
|
+
NOKIA_8110: "Mozilla/5.0 (Mobile; Nokia_8110_4G; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5"
|
106
108
|
NOOK: "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; NOOK BNTV250A Build/GINGERBREAD 1.4.3) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Safari/533.1"
|
107
109
|
OPERA: "Opera/9.80 (Macintosh; Intel Mac OS X 10.7.4; U; en) Presto/2.10.229 Version/11.64"
|
108
110
|
OPERA_ANDROID: "Mozill/5.0 (Linux; Android 4.4.2; A1-810 Build/KOT49H) Apple/WebKit/537.36 (KHTML, like Gecko) Chrome/48.0.25 64.99 Safari/537.36 OPR/35.0.2070.100283"
|
data/test/unit/bots_test.rb
CHANGED
@@ -86,7 +86,7 @@ class BotsTest < Minitest::Test
|
|
86
86
|
end
|
87
87
|
|
88
88
|
test "adds custom bot matcher" do
|
89
|
-
Browser::Bot.matchers << ->(ua, _) { ua
|
89
|
+
Browser::Bot.matchers << ->(ua, _) { ua.match?(/some-script/) }
|
90
90
|
browser = Browser.new("some-script")
|
91
91
|
|
92
92
|
assert browser.bot?
|
data/test/unit/device_test.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class KaiOSTest < Minitest::Test
|
6
|
+
test "detects KaiOS" do
|
7
|
+
browser = Browser.new(Browser["NOKIA_8110"])
|
8
|
+
|
9
|
+
assert browser.firefox?
|
10
|
+
assert_equal "48", browser.version
|
11
|
+
assert_equal "48.0", browser.full_version
|
12
|
+
assert_equal "Firefox", browser.name
|
13
|
+
assert browser.platform.kai_os?
|
14
|
+
assert_equal "KaiOS", browser.platform.name
|
15
|
+
assert_equal "2.5", browser.platform.version
|
16
|
+
refute browser.platform.android?
|
17
|
+
end
|
18
|
+
|
19
|
+
test "detects KaiOS with Android string in user-agent " do
|
20
|
+
browser = Browser.new(Browser["JIOPHONE_2"])
|
21
|
+
|
22
|
+
assert browser.firefox?
|
23
|
+
assert_equal "48", browser.version
|
24
|
+
assert_equal "48.0", browser.full_version
|
25
|
+
assert_equal "Firefox", browser.name
|
26
|
+
assert browser.platform.kai_os?
|
27
|
+
assert_equal "KaiOS", browser.platform.name
|
28
|
+
assert_equal "2.5", browser.platform.version
|
29
|
+
refute browser.platform.android?
|
30
|
+
end
|
31
|
+
end
|
data/test/unit/meta_test.rb
CHANGED
data/test/unit/platform_test.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Vieira
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -140,16 +140,16 @@ dependencies:
|
|
140
140
|
name: rubocop-fnando
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 0
|
145
|
+
version: '0'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 0
|
152
|
+
version: '0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: simplecov
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,10 +172,10 @@ extensions: []
|
|
172
172
|
extra_rdoc_files: []
|
173
173
|
files:
|
174
174
|
- ".github/ISSUE_TEMPLATE.md"
|
175
|
+
- ".github/workflows/tests.yml"
|
175
176
|
- ".gitignore"
|
176
177
|
- ".prettierignore"
|
177
178
|
- ".rubocop.yml"
|
178
|
-
- ".travis.yml"
|
179
179
|
- CHANGELOG.md
|
180
180
|
- FUNDING.yml
|
181
181
|
- Gemfile
|
@@ -265,6 +265,7 @@ files:
|
|
265
265
|
- lib/browser/platform/chrome_os.rb
|
266
266
|
- lib/browser/platform/firefox_os.rb
|
267
267
|
- lib/browser/platform/ios.rb
|
268
|
+
- lib/browser/platform/kai_os.rb
|
268
269
|
- lib/browser/platform/linux.rb
|
269
270
|
- lib/browser/platform/mac.rb
|
270
271
|
- lib/browser/platform/unknown.rb
|
@@ -317,6 +318,7 @@ files:
|
|
317
318
|
- test/unit/internet_explorer_test.rb
|
318
319
|
- test/unit/ios_app_test.rb
|
319
320
|
- test/unit/ios_test.rb
|
321
|
+
- test/unit/kai_os_test.rb
|
320
322
|
- test/unit/kindle_test.rb
|
321
323
|
- test/unit/maxthon_test.rb
|
322
324
|
- test/unit/meta_test.rb
|
@@ -342,7 +344,7 @@ homepage: https://github.com/fnando/browser
|
|
342
344
|
licenses:
|
343
345
|
- MIT
|
344
346
|
metadata:
|
345
|
-
changelog_uri: https://github.com/fnando/browser/blob/
|
347
|
+
changelog_uri: https://github.com/fnando/browser/blob/main/CHANGELOG.md
|
346
348
|
post_install_message:
|
347
349
|
rdoc_options: []
|
348
350
|
require_paths:
|
@@ -358,7 +360,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
358
360
|
- !ruby/object:Gem::Version
|
359
361
|
version: '0'
|
360
362
|
requirements: []
|
361
|
-
rubygems_version: 3.
|
363
|
+
rubygems_version: 3.2.0
|
362
364
|
signing_key:
|
363
365
|
specification_version: 4
|
364
366
|
summary: Do some browser detection with Ruby.
|
@@ -394,6 +396,7 @@ test_files:
|
|
394
396
|
- test/unit/internet_explorer_test.rb
|
395
397
|
- test/unit/ios_app_test.rb
|
396
398
|
- test/unit/ios_test.rb
|
399
|
+
- test/unit/kai_os_test.rb
|
397
400
|
- test/unit/kindle_test.rb
|
398
401
|
- test/unit/maxthon_test.rb
|
399
402
|
- test/unit/meta_test.rb
|
data/.travis.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
---
|
2
|
-
language: ruby
|
3
|
-
cache: bundler
|
4
|
-
rvm:
|
5
|
-
- 2.7
|
6
|
-
- 2.6
|
7
|
-
- 2.5
|
8
|
-
gemfile:
|
9
|
-
- Gemfile
|
10
|
-
- gemfiles/rails5.gemfile
|
11
|
-
- gemfiles/rails6.gemfile
|
12
|
-
script: bundle exec rake
|
13
|
-
notifications:
|
14
|
-
email: false
|
15
|
-
before_script:
|
16
|
-
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
17
|
-
- chmod +x ./cc-test-reporter
|
18
|
-
- "./cc-test-reporter before-build"
|
19
|
-
after_script:
|
20
|
-
- "./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT"
|
21
|
-
env:
|
22
|
-
global:
|
23
|
-
secure: LrxynbbiJMX5vy/UVPfQsnT21oUpqpuHbUM9YOy0+ZYfDCjprvM/UGxFgjM+unRzyPI0mrNyU65ohpj8R1//tvdFW+xYau6QmFgSTU6OAQrckW/n+jqwQZV37a38wEGV0QvA6A0HW9pTrJfatUBmpaAeHAxcaBMk51tEgX/8poA=
|