Skip to content

Commit 4bb0b89

Browse files
committed
Fix rubocop violations.
1 parent fa4f685 commit 4bb0b89

20 files changed

+77
-82
lines changed

.github/workflows/ruby-tests.yml

+2-3
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,11 @@ jobs:
1919
strategy:
2020
fail-fast: false
2121
matrix:
22-
ruby: ["2.7", "3.0", "3.1"]
22+
ruby: ["3.2", "3.3"]
2323
gemfile:
2424
- Gemfile
25-
- gemfiles/7_0.gemfile
25+
- gemfiles/7_1.gemfile
2626
- gemfiles/6_1.gemfile
27-
- gemfiles/6_0.gemfile
2827

2928
steps:
3029
- uses: actions/[email protected]

.rubocop.yml

+3
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,6 @@ AllCops:
1616

1717
Naming/VariableNumber:
1818
Enabled: false
19+
20+
Minitest/EmptyLineBeforeAssertionMethods:
21+
Enabled: false

browser.gemspec

+4-5
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,26 @@ Gem::Specification.new do |s|
77
s.version = Browser::VERSION
88
s.platform = Gem::Platform::RUBY
99
s.authors = ["Nando Vieira"]
10-
s.email = ["fnando.vieira@gmail.com"]
10+
s.email = ["me@fnando.com"]
1111
s.homepage = "https://github.com/fnando/browser"
1212
s.summary = "Do some browser detection with Ruby."
1313
s.description = s.summary
1414
s.license = "MIT"
15-
s.required_ruby_version = ">= 2.5.0"
15+
s.required_ruby_version = ">= 3.2.0"
1616

17+
s.metadata["rubygems_mfa_required"] = "true"
1718
s.metadata["changelog_uri"] = "https://github.com/fnando/browser/blob/main/CHANGELOG.md"
1819

1920
s.files = `git ls-files`.split("\n")
20-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
2121
s.executables = `git ls-files -- exe/*`
2222
.split("\n")
2323
.map {|f| File.basename(f) }
2424
s.require_paths = ["lib"]
2525

26-
s.add_development_dependency "bundler", ">= 0"
26+
s.add_development_dependency "bundler"
2727
s.add_development_dependency "minitest"
2828
s.add_development_dependency "minitest-autotest"
2929
s.add_development_dependency "minitest-utils"
30-
s.add_development_dependency "pry-meta"
3130
s.add_development_dependency "rack-test"
3231
s.add_development_dependency "rails"
3332
s.add_development_dependency "rake"

gemfiles/6_1.gemfile

-6
This file was deleted.

gemfiles/6_0.gemfile gemfiles/7_1.gemfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
source "https://rubygems.org"
44
gemspec path: ".."
55

6-
gem "rails", "~> 6.0.0"
6+
gem "rails", "~> 7.1.0"

lib/browser.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# frozen_string_literal: true
22

33
require_relative "browser/browser"
4-
require_relative "browser/rails" if defined?(::Rails)
4+
require_relative "browser/rails" if defined?(Rails)

lib/browser/base.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ def electron?(expected_version = nil)
270270

271271
private def validate_size(subject, input)
272272
actual_bytesize = input.bytesize
273-
size_limit = Browser.public_send("#{subject}_size_limit")
273+
size_limit = Browser.public_send(:"#{subject}_size_limit")
274274

275275
return if actual_bytesize < size_limit
276276

test/browser_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class BrowserTest < Minitest::Test
117117

118118
test "returns empty language set for missing accept language" do
119119
browser = Browser.new("")
120-
assert_equal [], browser.accept_language
120+
assert_empty browser.accept_language
121121
end
122122

123123
test "sets accept language while instantiating object" do

test/rails_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def app
2626
"HTTP_ACCEPT_LANGUAGE" => "en-US;q=0.8"
2727

2828
assert_equal 200, last_response.status
29-
assert_equal true, JSON.parse(last_response.body)["isBot"]
29+
assert JSON.parse(last_response.body)["isBot"]
3030
assert_equal "en-US", JSON.parse(last_response.body)["acceptLanguages"][0]
3131
end
3232
end

test/unit/accept_language_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,6 @@ def assert_language(item, expect = {})
161161
test "sets default quality value for invalid strings" do
162162
result = Browser::AcceptLanguage.parse(";q=0.0.0.0")
163163

164-
assert_equal 0.1, result[0].quality
164+
assert_equal 0.1, result[0].quality # rubocop:disable Minitest/AssertInDelta
165165
end
166166
end

test/unit/facebook_test.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class FacebookTest < Minitest::Test
88

99
assert_equal "Facebook", browser.name
1010
assert browser.facebook?
11-
assert :facebook, browser.id
11+
assert_equal :facebook, browser.id
1212
assert_equal "135.0.0.45.90", browser.full_version
1313
assert_equal "135", browser.version
1414
end
@@ -18,7 +18,7 @@ class FacebookTest < Minitest::Test
1818

1919
assert_equal "Facebook", browser.name
2020
assert browser.facebook?
21-
assert :facebook, browser.id
21+
assert_equal :facebook, browser.id
2222
assert_equal "AppleWebKit/605.1.15", browser.full_version
2323
assert_equal "AppleWebKit/605", browser.version
2424
end
@@ -28,7 +28,7 @@ class FacebookTest < Minitest::Test
2828

2929
assert_equal "Facebook", browser.name
3030
assert browser.facebook?
31-
assert :facebook, browser.id
31+
assert_equal :facebook, browser.id
3232
assert_equal "214.0.0.43.83", browser.full_version
3333
assert_equal "214", browser.version
3434
end

test/unit/instagram_test.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class InstagramTest < Minitest::Test
88

99
assert_equal "Instagram", browser.name
1010
assert browser.instagram?
11-
assert :instagram, browser.id
11+
assert_equal :instagram, browser.id
1212
assert_equal "41.0.0.14.90", browser.full_version
1313
assert_equal "41", browser.version
1414
end
@@ -18,7 +18,7 @@ class InstagramTest < Minitest::Test
1818

1919
assert_equal "Instagram", browser.name
2020
assert browser.instagram?
21-
assert :instagram, browser.id
21+
assert_equal :instagram, browser.id
2222
assert_equal "182257141", browser.full_version
2323
assert_equal "182257141", browser.version
2424
end

test/unit/internet_explorer_test.rb

+16-16
Original file line numberDiff line numberDiff line change
@@ -261,34 +261,34 @@ class IeTest < Minitest::Test
261261
browser = Browser.new(Browser["IE6"])
262262
meta = browser.meta
263263

264-
assert meta.include?("ie")
265-
assert meta.include?("ie6")
266-
assert meta.include?("oldie")
267-
assert meta.include?("lt-ie8")
268-
assert meta.include?("lt-ie9")
269-
assert meta.include?("windows")
264+
assert_includes meta, "ie"
265+
assert_includes meta, "ie6"
266+
assert_includes meta, "oldie"
267+
assert_includes meta, "lt-ie8"
268+
assert_includes meta, "lt-ie9"
269+
assert_includes meta, "windows"
270270
end
271271

272272
test "returns string representation for ie7" do
273273
browser = Browser.new(Browser["IE7"])
274274
meta = browser.meta
275275

276-
assert meta.include?("ie")
277-
assert meta.include?("ie7")
278-
assert meta.include?("oldie")
279-
assert meta.include?("lt-ie8")
280-
assert meta.include?("lt-ie9")
281-
assert meta.include?("windows")
276+
assert_includes meta, "ie"
277+
assert_includes meta, "ie7"
278+
assert_includes meta, "oldie"
279+
assert_includes meta, "lt-ie8"
280+
assert_includes meta, "lt-ie9"
281+
assert_includes meta, "windows"
282282
end
283283

284284
test "returns string representation for ie8" do
285285
browser = Browser.new(Browser["IE8"])
286286
meta = browser.meta
287287

288-
assert meta.include?("ie")
289-
assert meta.include?("ie8")
290-
assert meta.include?("lt-ie9")
291-
assert meta.include?("windows")
288+
assert_includes meta, "ie"
289+
assert_includes meta, "ie8"
290+
assert_includes meta, "lt-ie9"
291+
assert_includes meta, "windows"
292292
end
293293

294294
test "does not detect as two different versions" do

test/unit/ios_test.rb

+11-11
Original file line numberDiff line numberDiff line change
@@ -119,22 +119,22 @@ class IosTest < Minitest::Test
119119
browser = Browser.new(Browser["IPHONE"])
120120
meta = browser.to_s
121121

122-
assert meta.include?("webkit")
123-
assert meta.include?("ios")
124-
assert meta.include?("safari")
125-
assert meta.include?("safari3")
126-
assert meta.include?("mobile")
127-
refute meta.include?("tablet")
122+
assert_includes meta, "webkit"
123+
assert_includes meta, "ios"
124+
assert_includes meta, "safari"
125+
assert_includes meta, "safari3"
126+
assert_includes meta, "mobile"
127+
refute_includes meta, "tablet"
128128
end
129129

130130
test "returns string representation for ipad" do
131131
browser = Browser.new(Browser["IPAD"])
132132
meta = browser.to_s
133133

134-
assert meta.include?("webkit")
135-
assert meta.include?("ios")
136-
assert meta.include?("safari")
137-
assert meta.include?("tablet")
138-
refute meta.include?("mobile")
134+
assert_includes meta, "webkit"
135+
assert_includes meta, "ios"
136+
assert_includes meta, "safari"
137+
assert_includes meta, "tablet"
138+
refute_includes meta, "mobile"
139139
end
140140
end

test/unit/meta_test.rb

+12-12
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@
55
class MetaTest < Minitest::Test
66
class CustomRule < Browser::Meta::Base
77
def meta
8-
"custom" if /Custom/.match?(browser.ua)
8+
"custom" if browser.ua.include?("Custom")
99
end
1010
end
1111

1212
test "extends rules" do
1313
Browser::Meta.rules.unshift(CustomRule)
1414

1515
browser = Browser.new("Custom")
16-
assert browser.meta.include?("custom")
16+
assert_includes browser.meta, "custom"
1717

1818
browser = Browser.new("Safari")
19-
refute browser.meta.include?("custom")
19+
refute_includes browser.meta, "custom"
2020

2121
Browser::Meta.rules.shift
2222

2323
browser = Browser.new("Custom")
24-
refute browser.meta.include?("custom")
24+
refute_includes browser.meta, "custom"
2525
end
2626

2727
test "sets meta" do
@@ -33,25 +33,25 @@ def meta
3333
browser = Browser.new(Browser["CHROME"])
3434
meta = browser.to_s
3535

36-
assert meta.include?("chrome")
37-
assert meta.include?("webkit")
38-
assert meta.include?("mac")
36+
assert_includes meta, "chrome"
37+
assert_includes meta, "webkit"
38+
assert_includes meta, "mac"
3939
end
4040

4141
test "returns string representation for mobile" do
4242
browser = Browser.new(Browser["BLACKBERRY"])
4343
meta = browser.to_s
4444

45-
assert meta.include?("blackberry")
46-
assert meta.include?("mobile")
45+
assert_includes meta, "blackberry"
46+
assert_includes meta, "mobile"
4747
end
4848

4949
test "returns string representation for unknown platform/device/browser" do
5050
browser = Browser.new("Unknown")
5151
meta = browser.to_s
5252

53-
assert meta.include?("unknown_platform")
54-
assert meta.include?("unknown_device")
55-
assert meta.include?("unknown_browser")
53+
assert_includes meta, "unknown_platform"
54+
assert_includes meta, "unknown_device"
55+
assert_includes meta, "unknown_browser"
5656
end
5757
end

test/unit/platform_test.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ def id
3131
test "implements ==" do
3232
platform = Browser::Platform.new(Browser["IOS9"])
3333

34-
assert platform == :ios
35-
refute platform == :android
34+
assert_operator platform, :==, :ios # rubocop:disable Minitest/AssertEqual
35+
refute_equal platform, :android
3636
end
3737

3838
test "detects unknown platforms" do

test/unit/proxy_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class ProxyTest < Minitest::Test
1414
browser = Browser.new(ua)
1515

1616
assert browser.proxy?
17-
assert browser.meta.include?("proxy")
17+
assert_includes browser.meta, "proxy"
1818
end
1919
end
2020
end

test/unit/snapchat_test.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class SnapchatTest < Minitest::Test
88

99
assert_equal "Snapchat", browser.name
1010
assert browser.snapchat?
11-
assert :snapchat, browser.id
11+
assert_equal :snapchat, browser.id
1212
assert_equal "10.69.5.72", browser.full_version
1313
assert_equal "10", browser.version
1414
end
@@ -18,7 +18,7 @@ class SnapchatTest < Minitest::Test
1818

1919
assert_equal "Snapchat", browser.name
2020
assert browser.snapchat?
21-
assert :snapchat, browser.id
21+
assert_equal :snapchat, browser.id
2222
assert_equal "10.70.0.0", browser.full_version
2323
assert_equal "10", browser.version
2424
end
@@ -28,7 +28,7 @@ class SnapchatTest < Minitest::Test
2828

2929
assert_equal "Snapchat", browser.name
3030
assert browser.snapchat?
31-
assert :snapchat, browser.id
31+
assert_equal :snapchat, browser.id
3232
assert_equal "10.70.0.0", browser.full_version
3333
assert_equal "10", browser.version
3434
end

test/unit/uc_browser_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class UcBrowserTest < Minitest::Test
66
test "detects UC Browser" do
77
browser = Browser.new(Browser["UC_BROWSER"])
88
assert browser.uc_browser?
9-
assert_equal browser.name, "UCBrowser"
9+
assert_equal "UCBrowser", browser.name
1010
end
1111

1212
test "detects version by range" do

0 commit comments

Comments
 (0)