browser 3.0.2 → 5.0.0
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/.github/ISSUE_TEMPLATE.md +1 -1
- data/.prettierignore +1 -0
- data/.rubocop.yml +9 -0
- data/.travis.yml +3 -3
- data/CHANGELOG.md +81 -18
- data/FUNDING.yml +3 -0
- data/README.md +113 -88
- data/bots.yml +300 -294
- data/browser.gemspec +3 -1
- data/lib/browser/base.rb +63 -7
- data/lib/browser/browser.rb +27 -26
- data/lib/browser/chrome.rb +12 -2
- data/lib/browser/device.rb +2 -2
- data/lib/browser/device/unknown.rb +1 -1
- data/lib/browser/duck_duck_go.rb +22 -0
- data/lib/browser/edge.rb +2 -2
- data/lib/browser/google_search_app.rb +21 -0
- data/lib/browser/huawei_browser.rb +21 -0
- data/lib/browser/maxthon.rb +21 -0
- data/lib/browser/meta.rb +0 -1
- data/lib/browser/meta/base.rb +0 -1
- data/lib/browser/miui_browser.rb +21 -0
- data/lib/browser/platform.rb +5 -5
- data/lib/browser/platform/base.rb +3 -2
- data/lib/browser/platform/ios.rb +1 -1
- data/lib/browser/platform/mac.rb +4 -2
- data/lib/browser/platform/{other.rb → unknown.rb} +3 -3
- data/lib/browser/platform/windows.rb +1 -1
- data/lib/browser/safari.rb +16 -1
- data/lib/browser/samsung_browser.rb +21 -0
- data/lib/browser/sougou_browser.rb +24 -0
- data/lib/browser/{generic.rb → unknown.rb} +3 -3
- data/lib/browser/version.rb +1 -1
- data/test/browser_test.rb +23 -6
- data/test/test_helper.rb +8 -0
- data/test/ua.yml +17 -1
- data/test/ua_bots.yml +8 -2
- data/test/unit/adobe_air_test.rb +1 -1
- data/test/unit/alipay_test.rb +6 -0
- data/test/unit/console_test.rb +2 -2
- data/test/unit/device_test.rb +2 -2
- data/test/unit/duck_duck_go_test.rb +37 -0
- data/test/unit/edge_test.rb +34 -2
- data/test/unit/google_search_app_test.rb +54 -0
- data/test/unit/huawei_browser_test.rb +25 -0
- data/test/unit/maxthon_test.rb +25 -0
- data/test/unit/meta_test.rb +9 -0
- data/test/unit/micro_messenger_test.rb +21 -6
- data/test/unit/miui_browser_test.rb +25 -0
- data/test/unit/opera_test.rb +1 -0
- data/test/unit/platform_test.rb +12 -7
- data/test/unit/qq_test.rb +12 -0
- data/test/unit/safari_test.rb +12 -7
- data/test/unit/samsung_browser_test.rb +23 -0
- data/test/unit/sougou_browser_test.rb +41 -0
- metadata +33 -10
- data/lib/browser/meta/modern.rb +0 -11
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class GoogleSearchAppTest < Minitest::Test
|
6
|
+
test "detects Google Search App (Android)" do
|
7
|
+
browser = Browser.new(Browser["GOOGLE_SEARCH_APP_ANDROID"])
|
8
|
+
|
9
|
+
assert browser.webkit?
|
10
|
+
assert browser.google_search_app?
|
11
|
+
assert browser.platform.android?
|
12
|
+
assert_equal :google_search_app, browser.id
|
13
|
+
assert_equal "11", browser.version
|
14
|
+
assert_equal "11.6.8.21", browser.full_version
|
15
|
+
assert_equal "Google Search App", browser.name
|
16
|
+
refute browser.chrome?
|
17
|
+
refute browser.safari?
|
18
|
+
end
|
19
|
+
|
20
|
+
test "detects Google Search App (iPad)" do
|
21
|
+
browser = Browser.new(Browser["GOOGLE_SEARCH_APP_IPAD"])
|
22
|
+
|
23
|
+
assert browser.webkit?
|
24
|
+
assert browser.google_search_app?
|
25
|
+
assert browser.device.ipad?
|
26
|
+
assert browser.platform.ios?
|
27
|
+
assert_equal :google_search_app, browser.id
|
28
|
+
assert_equal "102", browser.version
|
29
|
+
assert_equal "102.0.304944559", browser.full_version
|
30
|
+
assert_equal "Google Search App", browser.name
|
31
|
+
refute browser.chrome?
|
32
|
+
refute browser.safari?
|
33
|
+
end
|
34
|
+
|
35
|
+
test "detects Google Search App (iPhone)" do
|
36
|
+
browser = Browser.new(Browser["GOOGLE_SEARCH_APP_IPHONE"])
|
37
|
+
|
38
|
+
assert browser.webkit?
|
39
|
+
assert browser.google_search_app?
|
40
|
+
assert browser.device.iphone?
|
41
|
+
assert browser.platform.ios?
|
42
|
+
assert_equal :google_search_app, browser.id
|
43
|
+
assert_equal "105", browser.version
|
44
|
+
assert_equal "105.0.307913796", browser.full_version
|
45
|
+
assert_equal "Google Search App", browser.name
|
46
|
+
refute browser.chrome?
|
47
|
+
refute browser.safari?
|
48
|
+
end
|
49
|
+
|
50
|
+
test "detects version by range (iPad)" do
|
51
|
+
browser = Browser.new(Browser["GOOGLE_SEARCH_APP_IPAD"])
|
52
|
+
assert browser.google_search_app?(%w[>=102 <103])
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class HuaweiBrowserTest < Minitest::Test
|
6
|
+
test "detects Huawei Browser" do
|
7
|
+
browser = Browser.new(Browser["HUAWEI_BROWSER"])
|
8
|
+
assert browser.huawei_browser?
|
9
|
+
refute browser.safari?
|
10
|
+
refute browser.chrome?
|
11
|
+
assert_equal "Huawei Browser", browser.name
|
12
|
+
assert_equal :huawei_browser, browser.id
|
13
|
+
end
|
14
|
+
|
15
|
+
test "detects correct version" do
|
16
|
+
browser = Browser.new(Browser["HUAWEI_BROWSER"])
|
17
|
+
assert_equal "10.1.2.300", browser.full_version
|
18
|
+
assert_equal "10", browser.version
|
19
|
+
end
|
20
|
+
|
21
|
+
test "detects version by range" do
|
22
|
+
browser = Browser.new(Browser["HUAWEI_BROWSER"])
|
23
|
+
assert browser.huawei_browser?(%w[>=10 <11])
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class MaxthonTest < Minitest::Test
|
6
|
+
test "detects Maxthon" do
|
7
|
+
browser = Browser.new(Browser["MAXTHON"])
|
8
|
+
assert browser.maxthon?
|
9
|
+
refute browser.safari?
|
10
|
+
refute browser.chrome?
|
11
|
+
assert_equal "Maxthon", browser.name
|
12
|
+
assert_equal :maxthon, browser.id
|
13
|
+
end
|
14
|
+
|
15
|
+
test "detects correct version" do
|
16
|
+
browser = Browser.new(Browser["MAXTHON"])
|
17
|
+
assert_equal "5.3.8.2000", browser.full_version
|
18
|
+
assert_equal "5", browser.version
|
19
|
+
end
|
20
|
+
|
21
|
+
test "detects version by range" do
|
22
|
+
browser = Browser.new(Browser["MAXTHON"])
|
23
|
+
assert browser.maxthon?(%w[>=5 <6])
|
24
|
+
end
|
25
|
+
end
|
data/test/unit/meta_test.rb
CHANGED
@@ -45,4 +45,13 @@ class MetaTest < Minitest::Test
|
|
45
45
|
assert meta.include?("blackberry")
|
46
46
|
assert meta.include?("mobile")
|
47
47
|
end
|
48
|
+
|
49
|
+
test "returns string representation for unknown platform/device/browser" do
|
50
|
+
browser = Browser.new("Unknown")
|
51
|
+
meta = browser.to_s
|
52
|
+
|
53
|
+
assert meta.include?("unknown_platform")
|
54
|
+
assert meta.include?("unknown_device")
|
55
|
+
assert meta.include?("unknown_browser")
|
56
|
+
end
|
48
57
|
end
|
@@ -3,18 +3,33 @@
|
|
3
3
|
require "test_helper"
|
4
4
|
|
5
5
|
class MicroMessengerTest < Minitest::Test
|
6
|
-
test "detects micro messenger
|
7
|
-
browser = Browser.new(Browser["
|
6
|
+
test "detects micro messenger 7.0.10 on iOS" do
|
7
|
+
browser = Browser.new(Browser["MICRO_MESSENGER_IOS"])
|
8
8
|
|
9
9
|
assert browser.micro_messenger?
|
10
10
|
assert browser.wechat?
|
11
|
-
assert_equal "
|
11
|
+
assert_equal "7.0.10", browser.full_version
|
12
12
|
assert_equal "MicroMessenger", browser.name
|
13
13
|
assert_equal :micro_messenger, browser.id
|
14
14
|
end
|
15
15
|
|
16
|
-
test "detects version by range" do
|
17
|
-
browser = Browser.new(Browser["
|
18
|
-
assert browser.wechat?(%w[>=
|
16
|
+
test "detects version by range on iOS" do
|
17
|
+
browser = Browser.new(Browser["MICRO_MESSENGER_IOS"])
|
18
|
+
assert browser.wechat?(%w[>=7 <8])
|
19
|
+
end
|
20
|
+
|
21
|
+
test "detects micro messenger 7.0.13.1640 on Android" do
|
22
|
+
browser = Browser.new(Browser["MICRO_MESSENGER_ANDROID"])
|
23
|
+
|
24
|
+
assert browser.micro_messenger?
|
25
|
+
assert browser.wechat?
|
26
|
+
assert_equal "7.0.13.1640", browser.full_version
|
27
|
+
assert_equal "MicroMessenger", browser.name
|
28
|
+
assert_equal :micro_messenger, browser.id
|
29
|
+
end
|
30
|
+
|
31
|
+
test "detects version by range on Android" do
|
32
|
+
browser = Browser.new(Browser["MICRO_MESSENGER_ANDROID"])
|
33
|
+
assert browser.wechat?(%w[>=7 <8])
|
19
34
|
end
|
20
35
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class MiuiBrowserTest < Minitest::Test
|
6
|
+
test "detects Miui Browser" do
|
7
|
+
browser = Browser.new(Browser["MIUI_BROWSER"])
|
8
|
+
assert browser.miui_browser?
|
9
|
+
refute browser.safari?
|
10
|
+
refute browser.chrome?
|
11
|
+
assert_equal "Miui Browser", browser.name
|
12
|
+
assert_equal :miui_browser, browser.id
|
13
|
+
end
|
14
|
+
|
15
|
+
test "detects correct version" do
|
16
|
+
browser = Browser.new(Browser["MIUI_BROWSER"])
|
17
|
+
assert_equal "12.3.3", browser.full_version
|
18
|
+
assert_equal "12", browser.version
|
19
|
+
end
|
20
|
+
|
21
|
+
test "detects version by range" do
|
22
|
+
browser = Browser.new(Browser["MIUI_BROWSER"])
|
23
|
+
assert browser.miui_browser?(%w[>=12 <13])
|
24
|
+
end
|
25
|
+
end
|
data/test/unit/opera_test.rb
CHANGED
data/test/unit/platform_test.rb
CHANGED
@@ -20,7 +20,7 @@ class PlatformTest < Minitest::Test
|
|
20
20
|
|
21
21
|
Browser::Platform.matchers.shift
|
22
22
|
platform = Browser::Platform.new("Custom")
|
23
|
-
assert_equal :
|
23
|
+
assert_equal :unknown_platform, platform.id
|
24
24
|
end
|
25
25
|
|
26
26
|
test "implements to_s" do
|
@@ -35,13 +35,13 @@ class PlatformTest < Minitest::Test
|
|
35
35
|
refute platform == :android
|
36
36
|
end
|
37
37
|
|
38
|
-
test "detect
|
39
|
-
platform = Browser::Platform.new("
|
38
|
+
test "detect unknown platforms" do
|
39
|
+
platform = Browser::Platform.new("Unknown")
|
40
40
|
|
41
|
-
assert_equal "
|
42
|
-
assert_equal :
|
41
|
+
assert_equal "Unknown", platform.name
|
42
|
+
assert_equal :unknown_platform, platform.id
|
43
43
|
assert_equal "0", platform.version
|
44
|
-
assert platform.
|
44
|
+
assert platform.unknown?
|
45
45
|
end
|
46
46
|
|
47
47
|
test "detect ios (iPhone)" do
|
@@ -104,7 +104,7 @@ class PlatformTest < Minitest::Test
|
|
104
104
|
test "detect mac" do
|
105
105
|
platform = Browser::Platform.new(Browser["SAFARI"])
|
106
106
|
|
107
|
-
assert_equal "
|
107
|
+
assert_equal "Mac OS X", platform.name
|
108
108
|
assert_equal :mac, platform.id
|
109
109
|
assert platform.mac?
|
110
110
|
assert_equal "10.6.4", platform.version
|
@@ -116,6 +116,11 @@ class PlatformTest < Minitest::Test
|
|
116
116
|
assert_equal "0", platform.version
|
117
117
|
end
|
118
118
|
|
119
|
+
test "detect mac names" do
|
120
|
+
assert_equal "Mac OS X", Browser::Platform.new(Browser["MAC_OSX"]).name
|
121
|
+
assert_equal "macOS", Browser::Platform.new(Browser["MAC_OS"]).name
|
122
|
+
end
|
123
|
+
|
119
124
|
test "detect firefox os" do
|
120
125
|
platform = Browser::Platform.new(Browser["FIREFOX_OS"])
|
121
126
|
|
data/test/unit/qq_test.rb
CHANGED
@@ -9,6 +9,9 @@ class QQTest < Minitest::Test
|
|
9
9
|
assert_equal "6.3.3.432", browser.full_version
|
10
10
|
assert_equal "QQ Browser", browser.name
|
11
11
|
assert_equal :qq, browser.id
|
12
|
+
|
13
|
+
refute browser.chrome?
|
14
|
+
refute browser.safari?
|
12
15
|
end
|
13
16
|
|
14
17
|
test "detects QQ browser for Android" do
|
@@ -17,6 +20,9 @@ class QQTest < Minitest::Test
|
|
17
20
|
assert_equal "6.2", browser.full_version
|
18
21
|
assert_equal "QQ Browser", browser.name
|
19
22
|
assert_equal :qq, browser.id
|
23
|
+
|
24
|
+
refute browser.chrome?
|
25
|
+
refute browser.safari?
|
20
26
|
end
|
21
27
|
|
22
28
|
test "detects QQ browser for Mac" do
|
@@ -25,6 +31,9 @@ class QQTest < Minitest::Test
|
|
25
31
|
assert_equal "4.2.4753.400", browser.full_version
|
26
32
|
assert_equal "QQ Browser", browser.name
|
27
33
|
assert_equal :qq, browser.id
|
34
|
+
|
35
|
+
refute browser.chrome?
|
36
|
+
refute browser.safari?
|
28
37
|
end
|
29
38
|
|
30
39
|
test "detects QQ browser lite for Mac" do
|
@@ -33,5 +42,8 @@ class QQTest < Minitest::Test
|
|
33
42
|
assert_equal "1.0.4", browser.full_version
|
34
43
|
assert_equal "QQ Browser", browser.name
|
35
44
|
assert_equal :qq, browser.id
|
45
|
+
|
46
|
+
refute browser.chrome?
|
47
|
+
refute browser.safari?
|
36
48
|
end
|
37
49
|
end
|
data/test/unit/safari_test.rb
CHANGED
@@ -7,7 +7,7 @@ class SafariTest < Minitest::Test
|
|
7
7
|
browser = Browser.new(Browser["SAFARI3"])
|
8
8
|
|
9
9
|
assert browser.safari?
|
10
|
-
assert browser.safari?(3)
|
10
|
+
assert browser.safari?("~>3.0")
|
11
11
|
assert_equal "3", browser.version
|
12
12
|
assert_equal "3.0.3", browser.full_version
|
13
13
|
end
|
@@ -16,7 +16,7 @@ class SafariTest < Minitest::Test
|
|
16
16
|
browser = Browser.new(Browser["SAFARI4"])
|
17
17
|
|
18
18
|
assert browser.safari?
|
19
|
-
assert browser.safari?(4)
|
19
|
+
assert browser.safari?("~>4.0")
|
20
20
|
assert_equal "4", browser.version
|
21
21
|
assert_equal "4.0.3", browser.full_version
|
22
22
|
end
|
@@ -25,7 +25,7 @@ class SafariTest < Minitest::Test
|
|
25
25
|
browser = Browser.new(Browser["SAFARI5"])
|
26
26
|
|
27
27
|
assert browser.safari?
|
28
|
-
assert browser.safari?(5)
|
28
|
+
assert browser.safari?("~>5.0")
|
29
29
|
assert_equal "5", browser.version
|
30
30
|
assert_equal "5.0.3", browser.full_version
|
31
31
|
end
|
@@ -34,7 +34,7 @@ class SafariTest < Minitest::Test
|
|
34
34
|
browser = Browser.new(Browser["SAFARI6"])
|
35
35
|
|
36
36
|
assert browser.safari?
|
37
|
-
assert browser.safari?(6)
|
37
|
+
assert browser.safari?("~>6.0")
|
38
38
|
assert_equal "6", browser.version
|
39
39
|
assert_equal "6.0", browser.full_version
|
40
40
|
end
|
@@ -43,7 +43,7 @@ class SafariTest < Minitest::Test
|
|
43
43
|
browser = Browser.new(Browser["SAFARI7"])
|
44
44
|
|
45
45
|
assert browser.safari?
|
46
|
-
assert browser.safari?(7)
|
46
|
+
assert browser.safari?("~>7.0")
|
47
47
|
assert_equal "7", browser.version
|
48
48
|
assert_equal "7.0", browser.full_version
|
49
49
|
end
|
@@ -52,7 +52,7 @@ class SafariTest < Minitest::Test
|
|
52
52
|
browser = Browser.new(Browser["SAFARI8"])
|
53
53
|
|
54
54
|
assert browser.safari?
|
55
|
-
assert browser.safari?(8)
|
55
|
+
assert browser.safari?("~>8.0")
|
56
56
|
assert_equal "8", browser.version
|
57
57
|
assert_equal "8.0", browser.full_version
|
58
58
|
end
|
@@ -61,7 +61,7 @@ class SafariTest < Minitest::Test
|
|
61
61
|
browser = Browser.new(Browser["SAFARI9"])
|
62
62
|
|
63
63
|
assert browser.safari?
|
64
|
-
assert browser.safari?(9)
|
64
|
+
assert browser.safari?("~>9.0")
|
65
65
|
assert_equal "9", browser.version
|
66
66
|
assert_equal "9.0.2", browser.full_version
|
67
67
|
end
|
@@ -88,4 +88,9 @@ class SafariTest < Minitest::Test
|
|
88
88
|
browser = Browser.new(Browser["SAFARI9"])
|
89
89
|
assert browser.webkit?(%w[>=601 <602])
|
90
90
|
end
|
91
|
+
|
92
|
+
test "detects safari version by range" do
|
93
|
+
browser = Browser.new(Browser["SAFARI9"])
|
94
|
+
assert browser.safari?(%w[>=9.0 <10])
|
95
|
+
end
|
91
96
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class SamsungBrowserTest < Minitest::Test
|
6
|
+
test "detects samsung browser" do
|
7
|
+
browser = Browser.new(Browser["SAMSUNG_BROWSER"])
|
8
|
+
|
9
|
+
assert browser.webkit?
|
10
|
+
assert browser.samsung_browser?
|
11
|
+
assert_equal "11", browser.version
|
12
|
+
assert_equal :samsung_browser, browser.id
|
13
|
+
assert_equal "11.1", browser.full_version
|
14
|
+
assert_equal "Samsung Browser", browser.name
|
15
|
+
refute browser.chrome?
|
16
|
+
refute browser.safari?
|
17
|
+
end
|
18
|
+
|
19
|
+
test "detects version by range" do
|
20
|
+
browser = Browser.new(Browser["SAMSUNG_BROWSER"])
|
21
|
+
assert browser.samsung_browser?(%w[>=11 <12])
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
|
5
|
+
class SougouBrowserTest < Minitest::Test
|
6
|
+
test "detects Sougou Browser on desktop device" do
|
7
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER"])
|
8
|
+
assert browser.sougou_browser?
|
9
|
+
refute browser.safari?
|
10
|
+
refute browser.chrome?
|
11
|
+
assert_equal "Sougou Browser", browser.name
|
12
|
+
assert_equal :sougou_browser, browser.id
|
13
|
+
end
|
14
|
+
|
15
|
+
test "detects correct version on desktop device" do
|
16
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER"])
|
17
|
+
assert_equal "0.0", browser.full_version
|
18
|
+
assert_equal "0", browser.version
|
19
|
+
end
|
20
|
+
|
21
|
+
test "detects Sougou Browser on mobile device" do
|
22
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER_MOBILE"])
|
23
|
+
assert browser.sougou_browser?
|
24
|
+
assert browser.device.mobile?
|
25
|
+
refute browser.safari?
|
26
|
+
refute browser.chrome?
|
27
|
+
assert_equal "Sougou Browser", browser.name
|
28
|
+
assert_equal :sougou_browser, browser.id
|
29
|
+
end
|
30
|
+
|
31
|
+
test "detects correct version on mobile device" do
|
32
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER_MOBILE"])
|
33
|
+
assert_equal "5.28.12", browser.full_version
|
34
|
+
assert_equal "5", browser.version
|
35
|
+
end
|
36
|
+
|
37
|
+
test "detects version by range on mobile device" do
|
38
|
+
browser = Browser.new(Browser["SOUGOU_BROWSER_MOBILE"])
|
39
|
+
assert browser.sougou_browser?(%w[>=5 <6])
|
40
|
+
end
|
41
|
+
end
|
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:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Vieira
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -173,9 +173,11 @@ extra_rdoc_files: []
|
|
173
173
|
files:
|
174
174
|
- ".github/ISSUE_TEMPLATE.md"
|
175
175
|
- ".gitignore"
|
176
|
+
- ".prettierignore"
|
176
177
|
- ".rubocop.yml"
|
177
178
|
- ".travis.yml"
|
178
179
|
- CHANGELOG.md
|
180
|
+
- FUNDING.yml
|
179
181
|
- Gemfile
|
180
182
|
- README.md
|
181
183
|
- Rakefile
|
@@ -221,13 +223,16 @@ files:
|
|
221
223
|
- lib/browser/device/wiiu.rb
|
222
224
|
- lib/browser/device/xbox_360.rb
|
223
225
|
- lib/browser/device/xbox_one.rb
|
226
|
+
- lib/browser/duck_duck_go.rb
|
224
227
|
- lib/browser/edge.rb
|
225
228
|
- lib/browser/electron.rb
|
226
229
|
- lib/browser/facebook.rb
|
227
230
|
- lib/browser/firefox.rb
|
228
|
-
- lib/browser/
|
231
|
+
- lib/browser/google_search_app.rb
|
232
|
+
- lib/browser/huawei_browser.rb
|
229
233
|
- lib/browser/instagram.rb
|
230
234
|
- lib/browser/internet_explorer.rb
|
235
|
+
- lib/browser/maxthon.rb
|
231
236
|
- lib/browser/meta.rb
|
232
237
|
- lib/browser/meta/base.rb
|
233
238
|
- lib/browser/meta/device.rb
|
@@ -236,7 +241,6 @@ files:
|
|
236
241
|
- lib/browser/meta/ie.rb
|
237
242
|
- lib/browser/meta/ios.rb
|
238
243
|
- lib/browser/meta/mobile.rb
|
239
|
-
- lib/browser/meta/modern.rb
|
240
244
|
- lib/browser/meta/platform.rb
|
241
245
|
- lib/browser/meta/proxy.rb
|
242
246
|
- lib/browser/meta/safari.rb
|
@@ -247,6 +251,7 @@ files:
|
|
247
251
|
- lib/browser/middleware/context.rb
|
248
252
|
- lib/browser/middleware/context/additions.rb
|
249
253
|
- lib/browser/middleware/context/url_methods.rb
|
254
|
+
- lib/browser/miui_browser.rb
|
250
255
|
- lib/browser/nokia.rb
|
251
256
|
- lib/browser/opera.rb
|
252
257
|
- lib/browser/otter.rb
|
@@ -261,17 +266,20 @@ files:
|
|
261
266
|
- lib/browser/platform/ios.rb
|
262
267
|
- lib/browser/platform/linux.rb
|
263
268
|
- lib/browser/platform/mac.rb
|
264
|
-
- lib/browser/platform/
|
269
|
+
- lib/browser/platform/unknown.rb
|
265
270
|
- lib/browser/platform/windows.rb
|
266
271
|
- lib/browser/platform/windows_mobile.rb
|
267
272
|
- lib/browser/platform/windows_phone.rb
|
268
273
|
- lib/browser/qq.rb
|
269
274
|
- lib/browser/rails.rb
|
270
275
|
- lib/browser/safari.rb
|
276
|
+
- lib/browser/samsung_browser.rb
|
271
277
|
- lib/browser/snapchat.rb
|
278
|
+
- lib/browser/sougou_browser.rb
|
272
279
|
- lib/browser/sputnik.rb
|
273
280
|
- lib/browser/testing.rb
|
274
281
|
- lib/browser/uc_browser.rb
|
282
|
+
- lib/browser/unknown.rb
|
275
283
|
- lib/browser/version.rb
|
276
284
|
- lib/browser/weibo.rb
|
277
285
|
- lib/browser/yandex.rb
|
@@ -295,18 +303,23 @@ files:
|
|
295
303
|
- test/unit/chrome_test.rb
|
296
304
|
- test/unit/console_test.rb
|
297
305
|
- test/unit/device_test.rb
|
306
|
+
- test/unit/duck_duck_go_test.rb
|
298
307
|
- test/unit/edge_test.rb
|
299
308
|
- test/unit/electron_test.rb
|
300
309
|
- test/unit/facebook_test.rb
|
301
310
|
- test/unit/firefox_test.rb
|
302
311
|
- test/unit/generic_test.rb
|
312
|
+
- test/unit/google_search_app_test.rb
|
313
|
+
- test/unit/huawei_browser_test.rb
|
303
314
|
- test/unit/instagram_test.rb
|
304
315
|
- test/unit/internet_explorer_test.rb
|
305
316
|
- test/unit/ios_app_test.rb
|
306
317
|
- test/unit/ios_test.rb
|
307
318
|
- test/unit/kindle_test.rb
|
319
|
+
- test/unit/maxthon_test.rb
|
308
320
|
- test/unit/meta_test.rb
|
309
321
|
- test/unit/micro_messenger_test.rb
|
322
|
+
- test/unit/miui_browser_test.rb
|
310
323
|
- test/unit/nokia_test.rb
|
311
324
|
- test/unit/opera_test.rb
|
312
325
|
- test/unit/otter_test.rb
|
@@ -314,18 +327,21 @@ files:
|
|
314
327
|
- test/unit/proxy_test.rb
|
315
328
|
- test/unit/qq_test.rb
|
316
329
|
- test/unit/safari_test.rb
|
330
|
+
- test/unit/samsung_browser_test.rb
|
317
331
|
- test/unit/snapchat_test.rb
|
332
|
+
- test/unit/sougou_browser_test.rb
|
318
333
|
- test/unit/sputnik_test.rb
|
319
334
|
- test/unit/uc_browser_test.rb
|
320
335
|
- test/unit/weibo_test.rb
|
321
336
|
- test/unit/windows_phone_test.rb
|
322
337
|
- test/unit/windows_test.rb
|
323
338
|
- test/unit/yandex_test.rb
|
324
|
-
homepage:
|
339
|
+
homepage: https://github.com/fnando/browser
|
325
340
|
licenses:
|
326
341
|
- MIT
|
327
|
-
metadata:
|
328
|
-
|
342
|
+
metadata:
|
343
|
+
changelog_uri: https://github.com/fnando/browser/blob/master/CHANGELOG.md
|
344
|
+
post_install_message:
|
329
345
|
rdoc_options: []
|
330
346
|
require_paths:
|
331
347
|
- lib
|
@@ -341,7 +357,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
341
357
|
version: '0'
|
342
358
|
requirements: []
|
343
359
|
rubygems_version: 3.1.2
|
344
|
-
signing_key:
|
360
|
+
signing_key:
|
345
361
|
specification_version: 4
|
346
362
|
summary: Do some browser detection with Ruby.
|
347
363
|
test_files:
|
@@ -364,18 +380,23 @@ test_files:
|
|
364
380
|
- test/unit/chrome_test.rb
|
365
381
|
- test/unit/console_test.rb
|
366
382
|
- test/unit/device_test.rb
|
383
|
+
- test/unit/duck_duck_go_test.rb
|
367
384
|
- test/unit/edge_test.rb
|
368
385
|
- test/unit/electron_test.rb
|
369
386
|
- test/unit/facebook_test.rb
|
370
387
|
- test/unit/firefox_test.rb
|
371
388
|
- test/unit/generic_test.rb
|
389
|
+
- test/unit/google_search_app_test.rb
|
390
|
+
- test/unit/huawei_browser_test.rb
|
372
391
|
- test/unit/instagram_test.rb
|
373
392
|
- test/unit/internet_explorer_test.rb
|
374
393
|
- test/unit/ios_app_test.rb
|
375
394
|
- test/unit/ios_test.rb
|
376
395
|
- test/unit/kindle_test.rb
|
396
|
+
- test/unit/maxthon_test.rb
|
377
397
|
- test/unit/meta_test.rb
|
378
398
|
- test/unit/micro_messenger_test.rb
|
399
|
+
- test/unit/miui_browser_test.rb
|
379
400
|
- test/unit/nokia_test.rb
|
380
401
|
- test/unit/opera_test.rb
|
381
402
|
- test/unit/otter_test.rb
|
@@ -383,7 +404,9 @@ test_files:
|
|
383
404
|
- test/unit/proxy_test.rb
|
384
405
|
- test/unit/qq_test.rb
|
385
406
|
- test/unit/safari_test.rb
|
407
|
+
- test/unit/samsung_browser_test.rb
|
386
408
|
- test/unit/snapchat_test.rb
|
409
|
+
- test/unit/sougou_browser_test.rb
|
387
410
|
- test/unit/sputnik_test.rb
|
388
411
|
- test/unit/uc_browser_test.rb
|
389
412
|
- test/unit/weibo_test.rb
|