rubocop: In-line disables of Metrics/{Module,Block,Class}Length

- We're not going to make the really long things be any shorter any time soon.
- The instructions in issue 14685 say, pragmatically, "disable all the rubocop
  rules we're never going to realistically fix e.g. Metrics/ClassLength". But
  that felt like a slippery slope to more _really_ long modules/classes/blocks,
  and the limits are here for a reason.
This commit is contained in:
Issy Long 2023-02-18 23:29:21 +00:00
parent 60d9443d35
commit f8654bd363
No known key found for this signature in database
GPG Key ID: 8247C390DADC67D4
9 changed files with 10 additions and 24 deletions

View File

@ -17,18 +17,10 @@ Metrics/AbcSize:
Max: 241 Max: 241
Metrics/BlockLength: Metrics/BlockLength:
Max: 86 Max: 86
Exclude:
# TODO: extract more of the bottling logic
- "dev-cmd/bottle.rb"
- "test/**/*"
- "cmd/install.rb"
Metrics/BlockNesting: Metrics/BlockNesting:
Max: 5 Max: 5
Metrics/ClassLength: Metrics/ClassLength:
Max: 736 Max: 736
Exclude:
- "formula.rb"
- "formula_installer.rb"
Metrics/CyclomaticComplexity: Metrics/CyclomaticComplexity:
Max: 68 Max: 68
Metrics/PerceivedComplexity: Metrics/PerceivedComplexity:
@ -37,12 +29,6 @@ Metrics/MethodLength:
Max: 232 Max: 232
Metrics/ModuleLength: Metrics/ModuleLength:
Max: 481 Max: 481
Exclude:
# TODO: extract more of the bottling logic
- "dev-cmd/bottle.rb"
# TODO: try break this down
- "utils/github.rb"
- "test/**/*"
Naming/PredicateName: Naming/PredicateName:
# Can't rename these. # Can't rename these.

View File

@ -19,7 +19,7 @@ module Homebrew
sig { returns(CLI::Parser) } sig { returns(CLI::Parser) }
def install_args def install_args
Homebrew::CLI::Parser.new do Homebrew::CLI::Parser.new do # rubocop:disable Metrics/BlockLength
description <<~EOS description <<~EOS
Install a <formula> or <cask>. Additional options specific to a <formula> may be Install a <formula> or <cask>. Additional options specific to a <formula> may be
appended to the command. appended to the command.

View File

@ -35,7 +35,7 @@ ALLOWABLE_HOMEBREW_REPOSITORY_LINKS = [
%r{#{Regexp.escape(HOMEBREW_LIBRARY)}/Homebrew/os/(mac|linux)/pkgconfig}, %r{#{Regexp.escape(HOMEBREW_LIBRARY)}/Homebrew/os/(mac|linux)/pkgconfig},
].freeze ].freeze
module Homebrew module Homebrew # rubocop:disable Metrics/ModuleLength
extend T::Sig extend T::Sig
module_function module_function
@ -591,7 +591,7 @@ module Homebrew
bottles_hash = merge_json_files(parse_json_files(args.named)) bottles_hash = merge_json_files(parse_json_files(args.named))
any_cellars = ["any", "any_skip_relocation"] any_cellars = ["any", "any_skip_relocation"]
bottles_hash.each do |formula_name, bottle_hash| bottles_hash.each do |formula_name, bottle_hash| # rubocop:disable Metrics/BlockLength
ohai formula_name ohai formula_name
bottle = BottleSpecification.new bottle = BottleSpecification.new

View File

@ -56,7 +56,7 @@ require "api"
# system "make", "install" # system "make", "install"
# end # end
# end</pre> # end</pre>
class Formula class Formula # rubocop:disable Metrics/ClassLength
extend T::Sig extend T::Sig
include FileUtils include FileUtils

View File

@ -26,7 +26,7 @@ require "service"
# Installer for a formula. # Installer for a formula.
# #
# @api private # @api private
class FormulaInstaller class FormulaInstaller # rubocop:disable Metrics/ClassLength
extend T::Sig extend T::Sig
include FormulaCellarChecks include FormulaCellarChecks

View File

@ -3,7 +3,7 @@
require "benchmark" require "benchmark"
shared_examples "#uninstall_phase or #zap_phase" do shared_examples "#uninstall_phase or #zap_phase" do # rubocop:disable Metrics/BlockLength
subject { artifact } subject { artifact }
let(:artifact_dsl_key) { described_class.dsl_key } let(:artifact_dsl_key) { described_class.dsl_key }

View File

@ -17,7 +17,7 @@ module Count
end end
end end
module Homebrew module Homebrew # rubocop:disable Metrics/ModuleLength
describe FormulaTextAuditor do describe FormulaTextAuditor do
alias_matcher :have_data, :be_data alias_matcher :have_data, :be_data
alias_matcher :have_end, :be_end alias_matcher :have_end, :be_end

View File

@ -63,7 +63,7 @@ TEST_DIRECTORIES = [
# work when type-checking is active. # work when type-checking is active.
RSpec::Sorbet.allow_doubles! RSpec::Sorbet.allow_doubles!
RSpec.configure do |config| RSpec.configure do |config| # rubocop:disable Metrics/BlockLength
config.order = :random config.order = :random
config.raise_errors_for_deprecations! config.raise_errors_for_deprecations!
@ -181,7 +181,7 @@ RSpec.configure do |config|
skip "Unzip is not installed." unless which("unzip") skip "Unzip is not installed." unless which("unzip")
end end
config.around do |example| config.around do |example| # rubocop:disable Metrics/BlockLength
def find_files def find_files
return [] unless File.exist?(TEST_TMPDIR) return [] unless File.exist?(TEST_TMPDIR)

View File

@ -10,7 +10,7 @@ require "system_command"
# Wrapper functions for the GitHub API. # Wrapper functions for the GitHub API.
# #
# @api private # @api private
module GitHub module GitHub # rubocop:disable Metrics/ModuleLength
extend T::Sig extend T::Sig
include SystemCommand::Mixin include SystemCommand::Mixin