diff --git a/Gemfile b/Gemfile
index 282346044..ea3f89286 100644
--- a/Gemfile
+++ b/Gemfile
@@ -147,7 +147,7 @@ group :development, :test do
gem "knapsack_pro", "~> 3.0.0" # Help parallelize Ruby spec builds
gem "pry-byebug", "~> 3.8" # Combine 'pry' with 'byebug'. Adds 'step', 'next', 'finish', 'continue' and 'break' commands to control execution
gem "rspec-rails", "~> 5.0" # rspec-rails is a testing framework for Rails 3+
- gem "rubocop", "~> 1.18", require: false # Automatic Ruby code style checking tool
+ gem "rubocop", "~> 1.19", require: false # Automatic Ruby code style checking tool
gem "rubocop-performance", "~> 1.11", require: false # A collection of RuboCop cops to check for performance optimizations in Ruby code
gem "rubocop-rails", "~> 2.11", require: false # Automatic Rails code style checking tool
gem "rubocop-rspec", "~> 2.4", require: false # Code style checking for RSpec files
diff --git a/Gemfile.lock b/Gemfile.lock
index e2db43ca4..f729917ca 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -650,16 +650,16 @@ GEM
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.10.2)
- rubocop (1.18.4)
+ rubocop (1.19.0)
parallel (~> 1.10)
parser (>= 3.0.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml
- rubocop-ast (>= 1.8.0, < 2.0)
+ rubocop-ast (>= 1.9.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
- rubocop-ast (1.8.0)
+ rubocop-ast (1.10.0)
parser (>= 3.0.1.1)
rubocop-performance (1.11.4)
rubocop (>= 1.7.0, < 2.0)
@@ -956,7 +956,7 @@ DEPENDENCIES
rpush-redis (~> 1.1)
rspec-rails (~> 5.0)
rspec-retry (~> 0.6)
- rubocop (~> 1.18)
+ rubocop (~> 1.19)
rubocop-performance (~> 1.11)
rubocop-rails (~> 2.11)
rubocop-rspec (~> 2.4)
diff --git a/app/controllers/concerns/valid_request.rb b/app/controllers/concerns/valid_request.rb
index b1a6d414f..56f44aaee 100644
--- a/app/controllers/concerns/valid_request.rb
+++ b/app/controllers/concerns/valid_request.rb
@@ -22,7 +22,7 @@ module ValidRequest
end
end
- def _compute_redirect_to_location(request, options) #:nodoc:
+ def _compute_redirect_to_location(request, options) # :nodoc:
case options
# Yet another monkeypatch required to send proper protocol out.
# In this case we make sure the redirect ends in the app protocol.
diff --git a/app/liquid_tags/github_tag/github_readme_tag.rb b/app/liquid_tags/github_tag/github_readme_tag.rb
index 83a185d77..1ab957a7f 100644
--- a/app/liquid_tags/github_tag/github_readme_tag.rb
+++ b/app/liquid_tags/github_tag/github_readme_tag.rb
@@ -60,7 +60,6 @@ class GithubTag
def fetch_readme(repository_path, repository_url)
readme_html = Github::OauthClient.new.readme(repository_path, accept: "application/vnd.github.html")
- readme = Github::OauthClient.new.readme(repository_path)
clean_relative_path!(readme_html, repository_url)
rescue Github::Errors::NotFound
nil
diff --git a/app/models/tweet.rb b/app/models/tweet.rb
index 2966dd5f3..f625f289f 100644
--- a/app/models/tweet.rb
+++ b/app/models/tweet.rb
@@ -59,7 +59,7 @@ class Tweet < ApplicationRecord
status = if status.retweeted_status.present?
TwitterClient::Client.status(status.retweeted_status.id.to_s)
else
- status
+ status # rubocop:disable Style/RedundantSelfAssignmentBranch
end
params = { twitter_id_code: status.id.to_s }
diff --git a/app/services/notifications/new_follower/send.rb b/app/services/notifications/new_follower/send.rb
index 3df1bbb49..929a30ce4 100644
--- a/app/services/notifications/new_follower/send.rb
+++ b/app/services/notifications/new_follower/send.rb
@@ -10,7 +10,7 @@ module Notifications
# we explicitly symbolize_keys because FollowData.new will fail otherwise with an error of
# ":followable_id is missing in Hash input". FollowData expects a symbol, not a string.
follow_data.symbolize_keys!
- follow_data = follow_data.is_a?(FollowData) ? follow_data : FollowData.new(follow_data)
+ follow_data = FollowData.new(follow_data) unless follow_data.is_a?(FollowData)
@followable_id = follow_data.followable_id # fetch(:followable_id)
@followable_type = follow_data.followable_type # fetch(:followable_type)
@follower_id = follow_data.follower_id # fetch(:follower_id)
diff --git a/app/uploaders/base_uploader.rb b/app/uploaders/base_uploader.rb
index 9f755afe0..52e2e7674 100644
--- a/app/uploaders/base_uploader.rb
+++ b/app/uploaders/base_uploader.rb
@@ -2,6 +2,7 @@ class BaseUploader < CarrierWave::Uploader::Base
include CarrierWave::BombShelter # limits size to 4096x4096
include CarrierWave::MiniMagick # adds processing operations
+ EXTENSION_ALLOWLIST = %w[jpg jpeg jpe gif png ico bmp dng].freeze
FRAME_MAX = 500
FRAME_STRIP_MAX = 150
@@ -14,11 +15,11 @@ class BaseUploader < CarrierWave::Uploader::Base
end
def extension_allowlist
- %w[jpg jpeg jpe gif png ico bmp dng]
+ EXTENSION_ALLOWLIST
end
def size_range
- 1..25.megabytes
+ 1..(25.megabytes)
end
protected
diff --git a/app/uploaders/profile_image_uploader.rb b/app/uploaders/profile_image_uploader.rb
index 84ccb0a67..b958fee38 100644
--- a/app/uploaders/profile_image_uploader.rb
+++ b/app/uploaders/profile_image_uploader.rb
@@ -4,7 +4,7 @@ class ProfileImageUploader < BaseUploader
end
def size_range
- 1..2.megabytes
+ 1..(2.megabytes)
end
protected
diff --git a/lib/generators/settings_model/settings_model_generator.rb b/lib/generators/settings_model/settings_model_generator.rb
index 2bc11abb9..6fc70c111 100644
--- a/lib/generators/settings_model/settings_model_generator.rb
+++ b/lib/generators/settings_model/settings_model_generator.rb
@@ -12,7 +12,7 @@ class SettingsModelGenerator < Rails::Generators::NamedBase
@migrations = false
- def self.next_migration_number(dirname) #:nodoc:
+ def self.next_migration_number(dirname) # :nodoc:
if ActiveRecord::Base.timestamped_migrations
if @migrations
(current_migration_number(dirname) + 1)
diff --git a/spec/models/profile_spec.rb b/spec/models/profile_spec.rb
index 503509b98..3b481f2f3 100644
--- a/spec/models/profile_spec.rb
+++ b/spec/models/profile_spec.rb
@@ -63,6 +63,7 @@ RSpec.describe Profile, type: :model do
profile.website_url = nil
expect(profile).to be_valid
end
+
it "is valid with a complete url" do
profile.website_url = "https://dev.to"
expect(profile).to be_valid
diff --git a/spec/requests/stories/tagged_articles_spec.rb b/spec/requests/stories/tagged_articles_spec.rb
index 3b928348a..d004af860 100644
--- a/spec/requests/stories/tagged_articles_spec.rb
+++ b/spec/requests/stories/tagged_articles_spec.rb
@@ -1,5 +1,6 @@
require "rails_helper"
+# rubocop:disable RSpec/NestedGroups
RSpec.describe "Stories::TaggedArticlesIndex", type: :request do
%i[enable disable].each do |method|
context "when :optimize_article_tag_query is #{method}d" do
@@ -92,7 +93,8 @@ RSpec.describe "Stories::TaggedArticlesIndex", type: :request do
it "shows meta keywords if set" do
allow(Settings::General).to receive(:meta_keywords).and_return({ tag: "software engineering, ruby" })
get "/t/#{tag.name}"
- expect(response.body).to include("")
+ expect(response.body)
+ .to include("")
end
it "does not show meta keywords if not set" do
@@ -223,3 +225,4 @@ RSpec.describe "Stories::TaggedArticlesIndex", type: :request do
end
end
end
+# rubocop:enable RSpec/NestedGroups
diff --git a/vendor/cache/rubocop-1.18.4.gem b/vendor/cache/rubocop-1.18.4.gem
deleted file mode 100644
index 0c54b46c1..000000000
Binary files a/vendor/cache/rubocop-1.18.4.gem and /dev/null differ
diff --git a/vendor/cache/rubocop-1.19.0.gem b/vendor/cache/rubocop-1.19.0.gem
new file mode 100644
index 000000000..c16c10578
Binary files /dev/null and b/vendor/cache/rubocop-1.19.0.gem differ
diff --git a/vendor/cache/rubocop-ast-1.10.0.gem b/vendor/cache/rubocop-ast-1.10.0.gem
new file mode 100644
index 000000000..fa59da07a
Binary files /dev/null and b/vendor/cache/rubocop-ast-1.10.0.gem differ
diff --git a/vendor/cache/rubocop-ast-1.8.0.gem b/vendor/cache/rubocop-ast-1.8.0.gem
deleted file mode 100644
index 6373022ca..000000000
Binary files a/vendor/cache/rubocop-ast-1.8.0.gem and /dev/null differ