From 0c52537f102a259c2c6eb92250d15564a9dec59c Mon Sep 17 00:00:00 2001 From: Sam Saffron Date: Tue, 10 Dec 2019 11:48:27 +1100 Subject: [PATCH] DEV: update rubocop to version 0.77 We like to stay as close as possible to latest with rubocop cause the cops get better. This update required some code changes, specifically the default is to avoid explicit returns where implicit is done Also this renames a few rules --- .rubocop.yml | 4 ++-- Gemfile.lock | 8 ++++---- app/controllers/application_controller.rb | 2 +- app/controllers/categories_controller.rb | 2 +- app/controllers/finish_installation_controller.rb | 2 +- app/controllers/reviewables_controller.rb | 2 +- app/controllers/session_controller.rb | 2 +- .../users/omniauth_callbacks_controller.rb | 2 +- app/jobs/regular/user_email.rb | 2 +- app/models/color_scheme.rb | 4 ++-- app/models/translation_override.rb | 2 +- app/services/user_silencer.rb | 2 +- ...20141216112341_resolve_duplicate_group_names.rb | 2 +- lib/email/receiver.rb | 2 +- script/bulk_import/base.rb | 4 ++-- script/import_scripts/base.rb | 2 +- script/import_scripts/discuz_x.rb | 4 ++-- script/import_scripts/friendsmegplus.rb | 14 +++++++------- script/import_scripts/mybb.rb | 6 +++--- script/import_scripts/ning.rb | 2 +- spec/models/color_scheme_spec.rb | 2 +- spec/models/trust_level3_requirements_spec.rb | 4 ++-- spec/support/concurrency.rb | 2 +- 23 files changed, 39 insertions(+), 39 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index eebd794151e..2c2c5fd9f93 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -86,7 +86,7 @@ Layout/Tab: Enabled: true # Blank lines should not have any spaces. -Layout/TrailingBlankLines: +Layout/TrailingEmptyLines: Enabled: true # No trailing whitespace. @@ -116,7 +116,7 @@ Layout/MultilineMethodCallIndentation: Enabled: true EnforcedStyle: indented -Layout/AlignHash: +Layout/HashAlignment: Enabled: true Bundler/OrderedGems: diff --git a/Gemfile.lock b/Gemfile.lock index fdd2b342da6..d04e74ec4ca 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -150,7 +150,7 @@ GEM concurrent-ruby (~> 1.0) image_size (1.5.0) in_threads (1.5.1) - jaro_winkler (1.5.2) + jaro_winkler (1.5.4) jmespath (1.4.0) jquery-rails (4.3.3) rails-dom-testing (>= 1, < 3) @@ -257,7 +257,7 @@ GEM parallel (1.19.1) parallel_tests (2.29.2) parallel - parser (2.6.3.0) + parser (2.6.5.0) ast (~> 2.4.0) pg (1.1.4) progress (3.5.0) @@ -344,7 +344,7 @@ GEM rspec-support (~> 3.8) rspec-support (3.9.0) rtlit (0.0.5) - rubocop (0.69.0) + rubocop (0.77.0) jaro_winkler (~> 1.5.1) parallel (~> 1.10) parser (>= 2.6) @@ -355,7 +355,7 @@ GEM rubocop (>= 0.69.0) ruby-openid (2.9.2) ruby-prof (1.0.0) - ruby-progressbar (1.10.0) + ruby-progressbar (1.10.1) ruby-readability (0.7.0) guess_html_encoding (>= 0.0.4) nokogiri (>= 1.6.0) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 48ce0506c94..bd8239d85b2 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -757,7 +757,7 @@ class ApplicationController < ActionController::Base redirect_path = "#{GlobalSetting.relative_url_root}/u/#{current_user.username}/preferences/second-factor" if !request.fullpath.start_with?(redirect_path) redirect_to path(redirect_path) - return + nil end end end diff --git a/app/controllers/categories_controller.rb b/app/controllers/categories_controller.rb index 191b2f433e2..c8a6a1f0e0b 100644 --- a/app/controllers/categories_controller.rb +++ b/app/controllers/categories_controller.rb @@ -142,7 +142,7 @@ class CategoriesController < ApplicationController render_serialized(@category, CategorySerializer) else - return render_json_error(@category) + render_json_error(@category) end end diff --git a/app/controllers/finish_installation_controller.rb b/app/controllers/finish_installation_controller.rb index 580047adc44..13b7b64f5df 100644 --- a/app/controllers/finish_installation_controller.rb +++ b/app/controllers/finish_installation_controller.rb @@ -31,7 +31,7 @@ class FinishInstallationController < ApplicationController if @user.save @user.change_trust_level!(1) if @user.trust_level < 1 send_signup_email - return redirect_confirm(@user.email) + redirect_confirm(@user.email) end end diff --git a/app/controllers/reviewables_controller.rb b/app/controllers/reviewables_controller.rb index ce5c2cd29e4..506eb8f9e98 100644 --- a/app/controllers/reviewables_controller.rb +++ b/app/controllers/reviewables_controller.rb @@ -169,7 +169,7 @@ class ReviewablesController < ApplicationController render_json_error(reviewable.errors) end rescue Reviewable::UpdateConflict - return render_json_error(I18n.t('reviewables.conflict'), status: 409) + render_json_error(I18n.t('reviewables.conflict'), status: 409) end end diff --git a/app/controllers/session_controller.rb b/app/controllers/session_controller.rb index a0828685a7f..b0687625209 100644 --- a/app/controllers/session_controller.rb +++ b/app/controllers/session_controller.rb @@ -492,7 +492,7 @@ class SessionController < ApplicationController end if ScreenedIpAddress.block_admin_login?(user, request.remote_ip) - return admin_not_allowed_from_ip_address(user) + admin_not_allowed_from_ip_address(user) end end diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index 5e383872240..1984932057a 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -67,7 +67,7 @@ class Users::OmniauthCallbacksController < ApplicationController if @auth_result.failed? flash[:error] = @auth_result.failed_reason.html_safe - return render('failure') + render('failure') else @auth_result.authenticator_name = authenticator.name complete_response_data diff --git a/app/jobs/regular/user_email.rb b/app/jobs/regular/user_email.rb index dcc0059d9f6..afa1105e4fc 100644 --- a/app/jobs/regular/user_email.rb +++ b/app/jobs/regular/user_email.rb @@ -225,7 +225,7 @@ module Jobs already_read = user.user_option.email_level != UserOption.email_level_types[:always] && PostTiming.exists?(topic_id: post.topic_id, post_number: post.post_number, user_id: user.id) if already_read - return SkippedEmailLog.reason_types[:user_email_already_read] + SkippedEmailLog.reason_types[:user_email_already_read] end else false diff --git a/app/models/color_scheme.rb b/app/models/color_scheme.rb index 0e6f7f7b23e..9c50aa716e9 100644 --- a/app/models/color_scheme.rb +++ b/app/models/color_scheme.rb @@ -2,7 +2,7 @@ class ColorScheme < ActiveRecord::Base - # rubocop:disable Layout/AlignHash + # rubocop:disable Layout/HashAlignment CUSTOM_SCHEMES = { 'Dark': { @@ -97,7 +97,7 @@ class ColorScheme < ActiveRecord::Base } } - # rubocop:enable Layout/AlignHash + # rubocop:enable Layout/HashAlignment LIGHT_THEME_ID = 'Light' diff --git a/app/models/translation_override.rb b/app/models/translation_override.rb index bef0c3eb1df..8d1f31cc43b 100644 --- a/app/models/translation_override.rb +++ b/app/models/translation_override.rb @@ -94,7 +94,7 @@ class TranslationOverride < ActiveRecord::Base keys: invalid_keys.join(', ') )) - return false + false end end end diff --git a/app/services/user_silencer.rb b/app/services/user_silencer.rb index 6dd2edf736b..9f192dc6f67 100644 --- a/app/services/user_silencer.rb +++ b/app/services/user_silencer.rb @@ -59,7 +59,7 @@ class UserSilencer silenced_till: @user.silenced_till, silenced_at: DateTime.now ) - return true + true end else false diff --git a/db/migrate/20141216112341_resolve_duplicate_group_names.rb b/db/migrate/20141216112341_resolve_duplicate_group_names.rb index b6072e78cd3..c9249af68b7 100644 --- a/db/migrate/20141216112341_resolve_duplicate_group_names.rb +++ b/db/migrate/20141216112341_resolve_duplicate_group_names.rb @@ -10,7 +10,7 @@ class ResolveDuplicateGroupNames < ActiveRecord::Migration[4.2] GROUP BY lower(name) HAVING count(*) > 1);' - groups = Group.where id: results + groups = Group.where id: results groups.group_by { |g| g.name.downcase }.each do |key, value| value.each_with_index do |dup, index| dup.update! name: "#{dup.name[0..18]}_#{index + 1}" if index > 0 diff --git a/lib/email/receiver.rb b/lib/email/receiver.rb index 06b2700cdfb..1f41e4b66e4 100644 --- a/lib/email/receiver.rb +++ b/lib/email/receiver.rb @@ -934,7 +934,7 @@ module Email return if message_ids.empty? host = Email::Sender.host_for(Discourse.base_url) - post_id_regexp = Regexp.new "topic/\\d+/(\\d+)@#{Regexp.escape(host)}" + post_id_regexp = Regexp.new "topic/\\d+/(\\d+)@#{Regexp.escape(host)}" topic_id_regexp = Regexp.new "topic/(\\d+)@#{Regexp.escape(host)}" post_ids = message_ids.map { |message_id| message_id[post_id_regexp, 1] }.compact.map(&:to_i) diff --git a/script/bulk_import/base.rb b/script/bulk_import/base.rb index b72104e31c7..8af89155e1c 100644 --- a/script/bulk_import/base.rb +++ b/script/bulk_import/base.rb @@ -29,7 +29,7 @@ class BulkImport::Base NOW ||= "now()".freeze PRIVATE_OFFSET ||= 2**30 - # rubocop:disable Layout/AlignHash + # rubocop:disable Layout/HashAlignment CHARSET_MAP = { "armscii8" => nil, @@ -70,7 +70,7 @@ class BulkImport::Base "utf8" => Encoding::UTF_8, } - # rubocop:enable Layout/AlignHash + # rubocop:enable Layout/HashAlignment def initialize charset = ENV["DB_CHARSET"] || "utf8" diff --git a/script/import_scripts/base.rb b/script/import_scripts/base.rb index 1959566c174..80214da26a2 100644 --- a/script/import_scripts/base.rb +++ b/script/import_scripts/base.rb @@ -222,7 +222,7 @@ class ImportScripts::Base if existing == import_ids.length puts "Skipping #{import_ids.length} already imported #{type}" - return true + true end ensure connection.exec('DROP TABLE import_ids') unless connection.nil? diff --git a/script/import_scripts/discuz_x.rb b/script/import_scripts/discuz_x.rb index 9aed7a7cc0c..7b4679981f8 100644 --- a/script/import_scripts/discuz_x.rb +++ b/script/import_scripts/discuz_x.rb @@ -833,9 +833,9 @@ class ImportScripts::DiscuzX < ImportScripts::Base file_name = "#{part_4}_avatar_big.jpg" if absolute - return File.join(DISCUZX_BASE_DIR, AVATAR_DIR, part_1, part_2, part_3, file_name), file_name + [File.join(DISCUZX_BASE_DIR, AVATAR_DIR, part_1, part_2, part_3, file_name), file_name] else - return File.join(AVATAR_DIR, part_1, part_2, part_3, file_name), file_name + [File.join(AVATAR_DIR, part_1, part_2, part_3, file_name), file_name] end end diff --git a/script/import_scripts/friendsmegplus.rb b/script/import_scripts/friendsmegplus.rb index cd9c045c3b8..3eb76239515 100644 --- a/script/import_scripts/friendsmegplus.rb +++ b/script/import_scripts/friendsmegplus.rb @@ -573,7 +573,7 @@ class ImportScripts::FMGP < ImportScripts::Base # Also deal with 0x80 (really‽) and non-breaking spaces text = fragment[1].gsub(/(\u200d|\u0080)/, "").gsub(/\u00a0/, " ") if fragment[2].nil? - return text + text else if fragment[2]["italic"].present? text = "#{text}" @@ -585,7 +585,7 @@ class ImportScripts::FMGP < ImportScripts::Base # s more likely than del to represent user intent? text = "#{text}" end - return text + text end elsif fragment[0] == 1 "\n" @@ -604,17 +604,17 @@ class ImportScripts::FMGP < ImportScripts::Base # G+ occasionally doesn't put proper spaces after users if user = find_user_by_import_id(fragment[2]) # user was in this import's authors - return "@#{user.username} " + "@#{user.username} " else if google_user_info = UserAssociatedAccount.find_by(provider_name: 'google_oauth2', provider_uid: fragment[2]) # user was not in this import, but has logged in or been imported otherwise user = User.find(google_user_info.user_id) - return "@#{user.username} " + "@#{user.username} " else raise RuntimeError.new("Google user #{fragment[1]} (id #{fragment[2]}) not imported") if !@dryrun # if you want to fall back to their G+ name, just erase the raise above, # but this should not happen - return "+#{fragment[1]}" + "+#{fragment[1]}" end end elsif fragment[0] == 4 @@ -669,14 +669,14 @@ class ImportScripts::FMGP < ImportScripts::Base end if text == url # leave the URL bare and Discourse will do the right thing - return url + url else # It turns out that the only place we get here, google has done its own text # interpolation that doesn't look good on Discourse, so while it looks like # this should be: # return "[#{text}](#{url})" # it actually looks better to throw away the google-provided text: - return url + url end end end diff --git a/script/import_scripts/mybb.rb b/script/import_scripts/mybb.rb index 259e855c377..0b78cf0f7a3 100644 --- a/script/import_scripts/mybb.rb +++ b/script/import_scripts/mybb.rb @@ -190,14 +190,14 @@ class ImportScripts::MyBB < ImportScripts::Base if quoted_post_id_from_imported begin post = Post.find(quoted_post_id_from_imported) - return "post:#{post.post_number}, topic:#{post.topic_id}" + "post:#{post.post_number}, topic:#{post.topic_id}" rescue puts "Could not find migrated post #{quoted_post_id_from_imported} quoted by original post #{post_id} as #{quoted_post_id}" - return "" + "" end else puts "Original post #{post_id} quotes nonexistent post #{quoted_post_id}" - return "" + "" end end diff --git a/script/import_scripts/ning.rb b/script/import_scripts/ning.rb index e5e7ed8dce0..712f07b8617 100644 --- a/script/import_scripts/ning.rb +++ b/script/import_scripts/ning.rb @@ -19,7 +19,7 @@ class ImportScripts::Ning < ImportScripts::Base @discussions_json = load_ning_json("ning-discussions-local.json") # An example of a custom category from Ning: - @blogs_json = load_ning_json("ning-blogs-local.json") + @blogs_json = load_ning_json("ning-blogs-local.json") @photos_json = load_ning_json("ning-photos-local.json") @pages_json = load_ning_json("ning-pages-local.json") diff --git a/spec/models/color_scheme_spec.rb b/spec/models/color_scheme_spec.rb index 7fa3aa679d9..4a9f34018b4 100644 --- a/spec/models/color_scheme_spec.rb +++ b/spec/models/color_scheme_spec.rb @@ -54,7 +54,7 @@ describe ColorScheme do it "creates a new color scheme" do c = described_class.create_from_base(name: 'Yellow', colors: { first_one: 'FFFF00', third_one: 'F00D33' }) expect(c.colors.size).to eq base_colors.size - first = c.colors.find { |x| x.name == 'first_one' } + first = c.colors.find { |x| x.name == 'first_one' } second = c.colors.find { |x| x.name == 'second_one' } third = c.colors.find { |x| x.name == 'third_one' } expect(first.hex).to eq 'FFFF00' diff --git a/spec/models/trust_level3_requirements_spec.rb b/spec/models/trust_level3_requirements_spec.rb index b027d1e5410..bf48291c396 100644 --- a/spec/models/trust_level3_requirements_spec.rb +++ b/spec/models/trust_level3_requirements_spec.rb @@ -204,7 +204,7 @@ describe TrustLevel3Requirements do _not_a_reply = create_post(user: user) # user created the topic, so it doesn't count topic1 = create_post.topic - _reply1 = create_post(topic: topic1, user: user) + _reply1 = create_post(topic: topic1, user: user) _reply_again = create_post(topic: topic1, user: user) # two replies in one topic topic2 = create_post(created_at: 101.days.ago).topic @@ -319,7 +319,7 @@ describe TrustLevel3Requirements do UserActionManager.enable t = Fabricate(:topic, user: user, created_at: 102.days.ago) - old_post = create_post(topic: t, user: user, created_at: 102.days.ago) + old_post = create_post(topic: t, user: user, created_at: 102.days.ago) recent_post2 = create_post(topic: t, user: user, created_at: 10.days.ago) recent_post1 = create_post(topic: t, user: user, created_at: 1.hour.ago) diff --git a/spec/support/concurrency.rb b/spec/support/concurrency.rb index fdc0f796ccd..5d3cd0c87c4 100644 --- a/spec/support/concurrency.rb +++ b/spec/support/concurrency.rb @@ -219,7 +219,7 @@ module Concurrency previous_value, @in_transaction = @in_transaction, true begin - return yield + yield ensure @in_transaction = previous_value end