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