From 8d473415a060387d68af33f04e7799aba591c03a Mon Sep 17 00:00:00 2001 From: Issy Long Date: Fri, 2 Oct 2026 08:58:31 +0100 Subject: [PATCH 1/3] Decide on pending default RuboCop rules - Promote all pending cops into the default configuration based on their results against github/github and the Ruby styleguide. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- config/default.yml | 300 ++++++++++++++++++ config/default_pending.yml | 201 +----------- config/rails_pending.yml | 66 ---- .../cop/github/rails_view_render_literal.rb | 2 - 4 files changed, 301 insertions(+), 268 deletions(-) diff --git a/config/default.yml b/config/default.yml index 0a22d612..82b909b2 100644 --- a/config/default.yml +++ b/config/default.yml @@ -26,12 +26,21 @@ Bundler/InsecureProtocolSource: Bundler/OrderedGems: Enabled: true +Gemspec/AddRuntimeDependency: + Enabled: true + +Gemspec/AttributeAssignment: + Enabled: true + Gemspec/DependencyVersion: Enabled: false Gemspec/DeprecatedAttributeAssignment: Enabled: false +Gemspec/DevelopmentDependencies: + Enabled: true + Gemspec/DuplicatedAssignment: Enabled: false @@ -127,6 +136,9 @@ Layout/EmptyLineBetweenDefs: Layout/EmptyLines: Enabled: false +Layout/EmptyLinesAfterModuleInclusion: + Enabled: false + Layout/EmptyLinesAroundAccessModifier: Enabled: false StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#access-modifier-indentation @@ -388,6 +400,12 @@ Lint/AmbiguousRange: Lint/AmbiguousRegexpLiteral: Enabled: false +Lint/ArgumentMismatch: + Enabled: false + +Lint/ArrayLiteralInRegexp: + Enabled: true + Lint/AssignmentInCondition: Enabled: false @@ -409,12 +427,18 @@ Lint/ConstantDefinitionInBlock: Lint/ConstantOverwrittenInRescue: Enabled: false +Lint/ConstantReassignment: + Enabled: true + Lint/ConstantResolution: Enabled: false Lint/CopDirectiveSyntax: Enabled: false +Lint/DataDefineOverride: + Enabled: false + Lint/Debugger: Enabled: true @@ -427,6 +451,9 @@ Lint/DeprecatedConstants: Lint/DeprecatedOpenSSLConstant: Enabled: false +Lint/DeprecatedReference: + Enabled: false + Lint/DisjunctiveAssignmentInConstructor: Enabled: false @@ -442,6 +469,12 @@ Lint/DuplicateElsifCondition: Lint/DuplicateHashKey: Enabled: true +Lint/DuplicateMagicComment: + Enabled: true + +Lint/DuplicateMatchPattern: + Enabled: true + Lint/DuplicateMethods: Enabled: true @@ -454,6 +487,9 @@ Lint/DuplicateRequire: Lint/DuplicateRescueException: Enabled: false +Lint/DuplicateSetElement: + Enabled: true + Lint/EachWithObjectArgument: Enabled: true @@ -505,6 +541,9 @@ Lint/FormatParameterMismatch: Lint/HashCompareByIdentity: Enabled: false +Lint/HashNewWithKeywordArgumentsAsDefault: + Enabled: true + Lint/HeredocMethodCallPosition: Enabled: false @@ -526,24 +565,36 @@ Lint/InheritException: Lint/InterpolationCheck: Enabled: false +Lint/ItWithoutArgumentsInBlock: + Enabled: true + Lint/LambdaWithoutLiteralBlock: Enabled: false Lint/LiteralAsCondition: Enabled: true +Lint/LiteralAssignmentInCondition: + Enabled: false + Lint/LiteralInInterpolation: Enabled: true Lint/Loop: Enabled: true +Lint/MisplacedMagicComment: + Enabled: true + Lint/MissingCopEnableDirective: Enabled: false Lint/MissingSuper: Enabled: false +Lint/MixedCaseRange: + Enabled: true + Lint/MixedRegexpCaptureTypes: Enabled: false StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#capture-with-named-groups @@ -551,6 +602,9 @@ Lint/MixedRegexpCaptureTypes: Lint/MultipleComparison: Enabled: false +Lint/NameTypo: + Enabled: false + Lint/NestedMethodDefinition: Enabled: false @@ -578,6 +632,9 @@ Lint/NumberConversion: Lint/NumberedParameterAssignment: Enabled: false +Lint/NumericOperationWithConstantResult: + Enabled: true + Lint/OrAssignmentToConstant: Enabled: false @@ -613,6 +670,9 @@ Lint/RedundantCopEnableDirective: Lint/RedundantDirGlobSort: Enabled: false +Lint/RedundantRegexpQuantifiers: + Enabled: true + Lint/RedundantRequireStatement: Enabled: false @@ -625,6 +685,9 @@ Lint/RedundantSplatExpansion: Lint/RedundantStringCoercion: Enabled: true +Lint/RedundantTypeConversion: + Enabled: true + Lint/RedundantWithIndex: Enabled: false @@ -682,12 +745,21 @@ Lint/ShadowedException: Lint/ShadowingOuterLocalVariable: Enabled: false +Lint/SharedMutableDefault: + Enabled: true + Lint/StructNewOverride: Enabled: false +Lint/SuperArgumentMismatch: + Enabled: false + Lint/SuppressedException: Enabled: false +Lint/SuppressedExceptionInNumberConversion: + Enabled: true + Lint/SymbolConversion: Enabled: false @@ -709,6 +781,9 @@ Lint/TripleQuotes: Lint/UnderscorePrefixedVariableName: Enabled: true +Lint/UnescapedBracketInRegexp: + Enabled: true + Lint/UnexpectedBlockArity: Enabled: false @@ -724,6 +799,9 @@ Lint/UnreachableCode: Lint/UnreachableLoop: Enabled: false +Lint/UnreachablePatternBranch: + Enabled: true + # TODO: Enable this since it's in the styleguide. Lint/UnusedBlockArgument: Enabled: false @@ -744,12 +822,30 @@ Lint/UselessAccessModifier: Lint/UselessAssignment: Enabled: false +Lint/UselessConstantScoping: + Enabled: false + +Lint/UselessDefaultValueArgument: + Enabled: true + +Lint/UselessDefined: + Enabled: true + Lint/UselessElseWithoutRescue: Enabled: false Lint/UselessMethodDefinition: Enabled: false +Lint/UselessNumericOperation: + Enabled: false + +Lint/UselessOr: + Enabled: true + +Lint/UselessRescue: + Enabled: true + Lint/UselessRuby2Keywords: Enabled: false @@ -774,6 +870,9 @@ Metrics/BlockNesting: Metrics/ClassLength: Enabled: false +Metrics/CollectionLiteralLength: + Enabled: false + Metrics/CyclomaticComplexity: Enabled: false @@ -837,6 +936,9 @@ Naming/MethodName: Naming/MethodParameterName: Enabled: false +Naming/PredicateMethod: + Enabled: false + Naming/PredicatePrefix: Enabled: false StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#bool-methods-qmark @@ -923,6 +1025,9 @@ Performance/IoReadlines: Performance/MapCompact: Enabled: false +Performance/MapMethodChain: + Enabled: false + Performance/MethodObjectAsBlock: Enabled: false @@ -978,6 +1083,9 @@ Performance/Squeeze: Performance/StartWith: Enabled: true +Performance/StringBytesize: + Enabled: true + Performance/StringIdentifierArgument: Enabled: false @@ -999,6 +1107,9 @@ Performance/UnfreezeString: Performance/UriDefaultParser: Enabled: false +Performance/ZipWithoutBlock: + Enabled: false + Security/CompoundHash: Enabled: false @@ -1029,6 +1140,9 @@ Style/AccessorGrouping: Style/Alias: Enabled: false +Style/AmbiguousEndlessMethodDefinition: + Enabled: true + Style/AndOr: Enabled: true StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#no-and-or-or @@ -1039,6 +1153,12 @@ Style/ArgumentsForwarding: Style/ArrayCoercion: Enabled: false +Style/ArrayIntersect: + Enabled: false + +Style/ArrayIntersectWithSingleElement: + Enabled: true + Style/ArrayJoin: Enabled: true @@ -1061,6 +1181,9 @@ Style/BeginBlock: Style/BisectedAttrAccessor: Enabled: false +Style/BitwisePredicate: + Enabled: false + Style/BlockComments: Enabled: true @@ -1104,12 +1227,18 @@ Style/CollectionCompact: Style/CollectionMethods: Enabled: false +Style/CollectionQuerying: + Enabled: false + Style/ColonMethodCall: Enabled: false Style/ColonMethodDefinition: Enabled: false +Style/CombinableDefined: + Enabled: false + Style/CombinableLoops: Enabled: false @@ -1122,6 +1251,15 @@ Style/CommentAnnotation: Style/CommentedKeyword: Enabled: false +Style/ComparableBetween: + Enabled: false + +Style/ComparableClamp: + Enabled: false + +Style/ConcatArrayLiterals: + Enabled: false + Style/ConditionalAssignment: Enabled: false @@ -1131,15 +1269,27 @@ Style/ConstantVisibility: Style/Copyright: Enabled: false +Style/DataInheritance: + Enabled: true + Style/DateTime: Enabled: false Style/DefWithParentheses: StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#method-parens-when-arguments +Style/DigChain: + Enabled: false + Style/Dir: Enabled: false +Style/DirEmpty: + Enabled: true + +Style/DirectiveScope: + Enabled: false + Style/DisableCopsWithinSourceCodeDirective: Enabled: false @@ -1167,6 +1317,9 @@ Style/EmptyBlockParameter: Style/EmptyCaseCondition: Enabled: false +Style/EmptyClassDefinition: + Enabled: false + Style/EmptyElse: Enabled: false @@ -1182,6 +1335,9 @@ Style/EmptyLiteral: Style/EmptyMethod: Enabled: false +Style/EmptyStringInsideInterpolation: + Enabled: false + Style/Encoding: Enabled: false @@ -1200,6 +1356,9 @@ Style/EvalWithLocation: Style/EvenOdd: Enabled: false +Style/ExactRegexpMatch: + Enabled: true + Style/ExpandPathArguments: Enabled: false @@ -1212,9 +1371,21 @@ Style/ExponentialNotation: Style/FetchEnvVar: Enabled: false +Style/FileEmpty: + Enabled: true + +Style/FileNull: + Enabled: true + +Style/FileOpen: + Enabled: false + Style/FileRead: Enabled: false +Style/FileTouch: + Enabled: true + Style/FileWrite: Enabled: false @@ -1254,9 +1425,15 @@ Style/HashEachMethods: Style/HashExcept: Enabled: false +Style/HashFetchChain: + Enabled: false + Style/HashLikeCase: Enabled: false +Style/HashSlice: + Enabled: false + Style/HashSyntax: EnforcedStyle: ruby19_no_mixed_keys StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#symbols-as-keys @@ -1304,6 +1481,15 @@ Style/InverseMethods: Style/IpAddresses: Enabled: false +Style/ItAssignment: + Enabled: false + +Style/ItBlockParameter: + Enabled: false + +Style/KeywordArgumentsMerging: + Enabled: false + Style/KeywordParametersOrder: Enabled: false @@ -1322,9 +1508,18 @@ Style/MagicCommentFormat: Style/MapCompactWithConditionalBlock: Enabled: false +Style/MapIntoArray: + Enabled: false + +Style/MapJoin: + Enabled: false + Style/MapToHash: Enabled: false +Style/MapToSet: + Enabled: false + Style/MethodCallWithArgsParentheses: Enabled: false StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#parens-no-spaces @@ -1341,6 +1536,9 @@ Style/MethodDefParentheses: Style/MinMax: Enabled: false +Style/MinMaxComparison: + Enabled: false + Style/MissingElse: Enabled: false @@ -1356,6 +1554,9 @@ Style/MixinUsage: Style/ModuleFunction: Enabled: false +Style/ModuleMemberExistenceCheck: + Enabled: true + Style/MultilineBlockChain: Enabled: false @@ -1400,6 +1601,9 @@ Style/NegatedUnless: Style/NegatedWhile: Enabled: false +Style/NegativeArrayIndex: + Enabled: false + Style/NestedFileDirname: Enabled: false @@ -1448,6 +1652,9 @@ Style/NumericPredicate: Style/ObjectThen: Enabled: false +Style/OneClassPerFile: + Enabled: false + Style/OneLineConditional: Enabled: true StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#trivial-ternary @@ -1455,6 +1662,9 @@ Style/OneLineConditional: Style/OpenStructUse: Enabled: false +Style/OperatorMethodCall: + Enabled: true + Style/OptionHash: Enabled: false @@ -1478,6 +1688,9 @@ Style/ParenthesesAroundCondition: Enabled: false StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#no-parens-if-unless-while +Style/PartitionInsteadOfDoubleSelect: + Enabled: false + Style/PercentLiteralDelimiters: Enabled: false @@ -1487,6 +1700,9 @@ Style/PercentQLiterals: Style/PerlBackrefs: Enabled: false +Style/PredicateWithKind: + Enabled: false + Style/PreferredHashMethods: Enabled: false @@ -1502,9 +1718,18 @@ Style/RaiseArgs: Style/RandomWithOffset: Enabled: false +Style/ReduceToHash: + Enabled: false + Style/RedundantArgument: Enabled: false +Style/RedundantArrayConstructor: + Enabled: true + +Style/RedundantArrayFlatten: + Enabled: true + Style/RedundantAssignment: Enabled: false @@ -1520,6 +1745,18 @@ Style/RedundantCondition: Style/RedundantConditional: Enabled: false +Style/RedundantConstantBase: + Enabled: false + +Style/RedundantCurrentDirectoryInPath: + Enabled: false + +Style/RedundantDoubleSplatHashBraces: + Enabled: false + +Style/RedundantEach: + Enabled: true + Style/RedundantException: Enabled: false @@ -1529,24 +1766,48 @@ Style/RedundantFetchBlock: Style/RedundantFileExtensionInRequire: Enabled: false +Style/RedundantFilterChain: + Enabled: true + +Style/RedundantFormat: + Enabled: true + Style/RedundantFreeze: Enabled: false +Style/RedundantHeredocDelimiterQuotes: + Enabled: false + Style/RedundantInitialize: Enabled: false Style/RedundantInterpolation: Enabled: false +Style/RedundantInterpolationUnfreeze: + Enabled: true + +Style/RedundantLineContinuation: + Enabled: false + +Style/RedundantMinMaxBy: + Enabled: true + Style/RedundantParentheses: Enabled: false Style/RedundantPercentQ: Enabled: false +Style/RedundantRegexpArgument: + Enabled: false + Style/RedundantRegexpCharacterClass: Enabled: false +Style/RedundantRegexpConstructor: + Enabled: true + Style/RedundantRegexpEscape: Enabled: false @@ -1571,6 +1832,9 @@ Style/RedundantSort: Style/RedundantSortBy: Enabled: true +Style/RedundantStringEscape: + Enabled: false + Style/RegexpLiteral: Enabled: false StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#percent-r-regular-expressions @@ -1584,12 +1848,27 @@ Style/RescueStandardError: Style/ReturnNil: Enabled: false +Style/ReturnNilInPredicateMethodDefinition: + Enabled: false + +Style/ReverseFind: + Enabled: true + Style/SafeNavigation: Enabled: false +Style/SafeNavigationChainLength: + Enabled: false + Style/Sample: Enabled: true +Style/SelectByKind: + Enabled: false + +Style/SelectByRange: + Enabled: true + Style/SelectByRegexp: Enabled: false @@ -1603,6 +1882,9 @@ Style/Send: Enabled: false StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#avoid-send +Style/SendWithLiteralMethodName: + Enabled: false + Style/SignalException: Enabled: false @@ -1612,6 +1894,9 @@ Style/SingleArgumentDig: Style/SingleLineBlockParams: Enabled: false +Style/SingleLineDoEndBlock: + Enabled: true + Style/SingleLineMethods: Enabled: false @@ -1661,6 +1946,12 @@ Style/Strip: Style/StructInheritance: Enabled: false +Style/SuperArguments: + Enabled: false + +Style/SuperWithArgsParentheses: + Enabled: false + Style/SwapValues: Enabled: false @@ -1673,9 +1964,15 @@ Style/SymbolLiteral: Style/SymbolProc: Enabled: false +Style/TallyMethod: + Enabled: true + Style/TernaryParentheses: Enabled: false +Style/TimeNow: + Enabled: true + Style/TopLevelMethodDefinition: Enabled: false @@ -1737,6 +2034,9 @@ Style/WordArray: Enabled: false StyleGuide: https://github.com/github/rubocop-github/blob/main/STYLEGUIDE.md#percent-w +Style/YAMLFileRead: + Enabled: true + Style/YodaCondition: Enabled: false diff --git a/config/default_pending.yml b/config/default_pending.yml index 40b7f14e..8d82b037 100644 --- a/config/default_pending.yml +++ b/config/default_pending.yml @@ -1,200 +1 @@ -Lint/DuplicateMagicComment: # new in 1.37 - Enabled: false -Style/OperatorMethodCall: # new in 1.37 - Enabled: false -Style/RedundantStringEscape: # new in 1.37 - Enabled: false -Gemspec/DevelopmentDependencies: # new in 1.44 - Enabled: false -Lint/DuplicateMatchPattern: # new in 1.50 - Enabled: false -Lint/ItWithoutArgumentsInBlock: # new in 1.59 - Enabled: false -Lint/LiteralAssignmentInCondition: # new in 1.58 - Enabled: false -Lint/MixedCaseRange: # new in 1.53 - Enabled: false -Lint/RedundantRegexpQuantifiers: # new in 1.53 - Enabled: false -Lint/UselessRescue: # new in 1.43 - Enabled: false -Metrics/CollectionLiteralLength: # new in 1.47 - Enabled: false -Style/ArrayIntersect: # new in 1.40 - Enabled: false -Style/ComparableClamp: # new in 1.44 - Enabled: false -Style/ConcatArrayLiterals: # new in 1.41 - Enabled: false -Style/DataInheritance: # new in 1.49 - Enabled: false -Style/DirEmpty: # new in 1.48 - Enabled: false -Style/ExactRegexpMatch: # new in 1.51 - Enabled: false -Style/FileEmpty: # new in 1.48 - Enabled: false -Style/MapIntoArray: # new in 1.63 - Enabled: false -Style/MapToSet: # new in 1.42 - Enabled: false -Style/MinMaxComparison: # new in 1.42 - Enabled: false -Style/RedundantArrayConstructor: # new in 1.52 - Enabled: false -Style/RedundantConstantBase: # new in 1.40 - Enabled: false -Style/RedundantCurrentDirectoryInPath: # new in 1.53 - Enabled: false -Style/RedundantDoubleSplatHashBraces: # new in 1.41 - Enabled: false -Style/RedundantEach: # new in 1.38 - Enabled: false -Style/RedundantFilterChain: # new in 1.52 - Enabled: false -Style/RedundantHeredocDelimiterQuotes: # new in 1.45 - Enabled: false -Style/RedundantLineContinuation: # new in 1.49 - Enabled: false -Style/RedundantRegexpArgument: # new in 1.53 - Enabled: false -Style/RedundantRegexpConstructor: # new in 1.52 - Enabled: false -Style/ReturnNilInPredicateMethodDefinition: # new in 1.53 - Enabled: false -Style/SingleLineDoEndBlock: # new in 1.57 - Enabled: false -Style/SuperWithArgsParentheses: # new in 1.58 - Enabled: false -Style/YAMLFileRead: # new in 1.53 - Enabled: false -Performance/MapMethodChain: # new in 1.19 - Enabled: false -Gemspec/AddRuntimeDependency: # new in 1.65 - Enabled: false -Lint/ConstantReassignment: # new in 1.70 - Enabled: false -Lint/DuplicateSetElement: # new in 1.67 - Enabled: false -Lint/HashNewWithKeywordArgumentsAsDefault: # new in 1.69 - Enabled: false -Lint/NumericOperationWithConstantResult: # new in 1.69 - Enabled: false -Lint/SharedMutableDefault: # new in 1.70 - Enabled: false -Lint/UnescapedBracketInRegexp: # new in 1.68 - Enabled: false -Lint/UselessDefined: # new in 1.69 - Enabled: false -Lint/UselessNumericOperation: # new in 1.66 - Enabled: false -Style/AmbiguousEndlessMethodDefinition: # new in 1.68 - Enabled: false -Style/BitwisePredicate: # new in 1.68 - Enabled: false -Style/CombinableDefined: # new in 1.68 - Enabled: false -Style/DigChain: # new in 1.69 - Enabled: false -Style/FileNull: # new in 1.69 - Enabled: false -Style/FileTouch: # new in 1.69 - Enabled: false -Style/ItAssignment: # new in 1.70 - Enabled: false -Style/KeywordArgumentsMerging: # new in 1.68 - Enabled: false -Style/RedundantInterpolationUnfreeze: # new in 1.66 - Enabled: false -Style/SafeNavigationChainLength: # new in 1.68 - Enabled: false -Style/SendWithLiteralMethodName: # new in 1.64 - Enabled: false -Style/SuperArguments: # new in 1.64 - Enabled: false -Gemspec/AttributeAssignment: # new in 1.77 - Enabled: true -Layout/EmptyLinesAfterModuleInclusion: # new in 1.79 - Enabled: true -Lint/ArgumentMismatch: # new in 1.90 - Enabled: true -Lint/ArrayLiteralInRegexp: # new in 1.71 - Enabled: true -Lint/DataDefineOverride: # new in 1.85 - Enabled: true -Lint/DeprecatedReference: # new in 1.89 - Enabled: true -Lint/MisplacedMagicComment: # new in 1.91 - Enabled: true -Lint/NameTypo: # new in 1.89 - Enabled: true -Lint/RedundantTypeConversion: # new in 1.72 - Enabled: true -Lint/SuperArgumentMismatch: # new in 1.90 - Enabled: true -Lint/SuppressedExceptionInNumberConversion: # new in 1.72 - Enabled: true -Lint/UnreachablePatternBranch: # new in 1.85 - Enabled: true -Lint/UselessConstantScoping: # new in 1.72 - Enabled: true -Lint/UselessDefaultValueArgument: # new in 1.76 - Enabled: true -Lint/UselessOr: # new in 1.76 - Enabled: true -Naming/PredicateMethod: # new in 1.76 - Enabled: true -Style/ArrayIntersectWithSingleElement: # new in 1.81 - Enabled: true -Style/CollectionQuerying: # new in 1.77 - Enabled: true -Style/ComparableBetween: # new in 1.74 - Enabled: true -Style/DirectiveScope: # new in 1.90 - Enabled: true -Style/EmptyClassDefinition: # new in 1.84 - Enabled: true -Style/EmptyStringInsideInterpolation: # new in 1.76 - Enabled: true -Style/FileOpen: # new in 1.85 - Enabled: true -Style/HashFetchChain: # new in 1.75 - Enabled: true -Style/HashSlice: # new in 1.71 - Enabled: true -Style/ItBlockParameter: # new in 1.75 - Enabled: true -Style/MapJoin: # new in 1.85 - Enabled: true -Style/ModuleMemberExistenceCheck: # new in 1.82 - Enabled: true -Style/NegativeArrayIndex: # new in 1.84 - Enabled: true -Style/OneClassPerFile: # new in 1.85 - Enabled: true -Style/PartitionInsteadOfDoubleSelect: # new in 1.85 - Enabled: true -Style/PredicateWithKind: # new in 1.85 - Enabled: true -Style/ReduceToHash: # new in 1.85 - Enabled: true -Style/RedundantArrayFlatten: # new in 1.76 - Enabled: true -Style/RedundantFormat: # new in 1.72 - Enabled: true -Style/RedundantMinMaxBy: # new in 1.85 - Enabled: true -Style/ReverseFind: # new in 1.84 - Enabled: true -Style/SelectByKind: # new in 1.85 - Enabled: true -Style/SelectByRange: # new in 1.85 - Enabled: true -Style/TallyMethod: # new in 1.85 - Enabled: true -Style/TimeNow: # new in 1.90 - Enabled: true -Performance/StringBytesize: # new in 1.23 - Enabled: false -Performance/ZipWithoutBlock: # new in 1.24 - Enabled: true +# Newly introduced cops awaiting an explicit enabled or disabled decision. diff --git a/config/rails_pending.yml b/config/rails_pending.yml index 9d45fc23..8cc55474 100644 --- a/config/rails_pending.yml +++ b/config/rails_pending.yml @@ -18,72 +18,6 @@ Rails/WhereMissing: # new in 2.16 Enabled: false Rails/WhereNotWithMultipleConditions: # new in 2.17 Enabled: false -Gemspec/DevelopmentDependencies: # new in 1.44 - Enabled: false -Lint/DuplicateMatchPattern: # new in 1.50 - Enabled: false -Lint/ItWithoutArgumentsInBlock: # new in 1.59 - Enabled: false -Lint/LiteralAssignmentInCondition: # new in 1.58 - Enabled: false -Lint/MixedCaseRange: # new in 1.53 - Enabled: false -Lint/RedundantRegexpQuantifiers: # new in 1.53 - Enabled: false -Lint/UselessRescue: # new in 1.43 - Enabled: false -Metrics/CollectionLiteralLength: # new in 1.47 - Enabled: false -Style/ArrayIntersect: # new in 1.40 - Enabled: false -Style/ComparableClamp: # new in 1.44 - Enabled: false -Style/ConcatArrayLiterals: # new in 1.41 - Enabled: false -Style/DataInheritance: # new in 1.49 - Enabled: false -Style/DirEmpty: # new in 1.48 - Enabled: false -Style/ExactRegexpMatch: # new in 1.51 - Enabled: false -Style/FileEmpty: # new in 1.48 - Enabled: false -Style/MapIntoArray: # new in 1.63 - Enabled: false -Style/MapToSet: # new in 1.42 - Enabled: false -Style/MinMaxComparison: # new in 1.42 - Enabled: false -Style/RedundantArrayConstructor: # new in 1.52 - Enabled: false -Style/RedundantConstantBase: # new in 1.40 - Enabled: false -Style/RedundantCurrentDirectoryInPath: # new in 1.53 - Enabled: false -Style/RedundantDoubleSplatHashBraces: # new in 1.41 - Enabled: false -Style/RedundantEach: # new in 1.38 - Enabled: false -Style/RedundantFilterChain: # new in 1.52 - Enabled: false -Style/RedundantHeredocDelimiterQuotes: # new in 1.45 - Enabled: false -Style/RedundantLineContinuation: # new in 1.49 - Enabled: false -Style/RedundantRegexpArgument: # new in 1.53 - Enabled: false -Style/RedundantRegexpConstructor: # new in 1.52 - Enabled: false -Style/ReturnNilInPredicateMethodDefinition: # new in 1.53 - Enabled: false -Style/SingleLineDoEndBlock: # new in 1.57 - Enabled: false -Style/SuperWithArgsParentheses: # new in 1.58 - Enabled: false -Style/YAMLFileRead: # new in 1.53 - Enabled: false -Performance/MapMethodChain: # new in 1.19 - Enabled: false Rails/DangerousColumnNames: # new in 2.21 Enabled: false Rails/EnvLocal: # new in 2.22 diff --git a/lib/rubocop/cop/github/rails_view_render_literal.rb b/lib/rubocop/cop/github/rails_view_render_literal.rb index 15d57d5d..1fa4b903 100644 --- a/lib/rubocop/cop/github/rails_view_render_literal.rb +++ b/lib/rubocop/cop/github/rails_view_render_literal.rb @@ -53,9 +53,7 @@ def on_send(node) end # `many?` is an ActiveSupport extension, but this cop runs without ActiveSupport. - # rubocop:disable Style/CollectionQuerying if render_literal?(node) && node.arguments.count > 1 - # rubocop:enable Style/CollectionQuerying locals = node.arguments[1] elsif option_pairs = render_with_options?(node) locals = option_pairs.map { |pair| locals_key?(pair) }.compact.first From 1bdf70dcf50002dbfd9481c5abad60b1d244fa88 Mon Sep 17 00:00:00 2001 From: Issy Long Date: Fri, 2 Oct 2026 09:31:18 +0100 Subject: [PATCH 2/3] Decide on pending Rails RuboCop rules - Promote all Rails-specific pending cops into the Rails configuration based on their results against github/github. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- config/rails.yml | 72 ++++++++++++++++++++++++++++++++++++++++ config/rails_pending.yml | 49 +-------------------------- 2 files changed, 73 insertions(+), 48 deletions(-) diff --git a/config/rails.yml b/config/rails.yml index cba38c11..986f8bba 100644 --- a/config/rails.yml +++ b/config/rails.yml @@ -60,12 +60,18 @@ Lint/UselessAccessModifier: ContextCreatingMethods: - concerning +Rails/ActionControllerFlashBeforeRender: + Enabled: true + Rails/ActionControllerTestCase: Enabled: false Rails/ActionFilter: Enabled: false +Rails/ActionOrder: + Enabled: false + Rails/ActiveRecordAliases: Enabled: false @@ -78,6 +84,9 @@ Rails/ActiveRecordOverride: Rails/ActiveSupportAliases: Enabled: false +Rails/ActiveSupportOnLoad: + Enabled: true + Rails/AddColumnIndex: Enabled: false @@ -123,6 +132,9 @@ Rails/ContentTag: Rails/CreateTableWithTimestamps: Enabled: false +Rails/DangerousColumnNames: + Enabled: true + Rails/Date: Enabled: false @@ -159,6 +171,9 @@ Rails/EagerEvaluationLogMessage: Rails/EnumHash: Enabled: false +Rails/EnumSyntax: + Enabled: true + Rails/EnumUniqueness: Enabled: false @@ -168,6 +183,9 @@ Rails/EnvironmentComparison: Rails/EnvironmentVariableAccess: Enabled: false +Rails/EnvLocal: + Enabled: true + Rails/Exit: Enabled: false @@ -183,9 +201,15 @@ Rails/FindBy: Rails/FindById: Enabled: false +Rails/FindByOrAssignmentMemoization: + Enabled: true + Rails/FindEach: Enabled: false +Rails/FreezeTime: + Enabled: true + Rails/HasAndBelongsToMany: Enabled: false @@ -201,6 +225,9 @@ Rails/HttpPositionalArguments: Rails/HttpStatus: Enabled: false +Rails/HttpStatusNameConsistency: + Enabled: false + Rails/I18nLazyLookup: Enabled: false @@ -210,6 +237,9 @@ Rails/I18nLocaleAssignment: Rails/I18nLocaleTexts: Enabled: false +Rails/IgnoredColumnsAssignment: + Enabled: true + Rails/IgnoredSkipActionFilterOption: Enabled: false @@ -240,12 +270,18 @@ Rails/MatchRoute: Rails/MigrationClassName: Enabled: false +Rails/MultipleRoutePaths: + Enabled: true + Rails/NegateInclude: Enabled: false Rails/NotNullColumn: Enabled: false +Rails/OrderArguments: + Enabled: false + Rails/OrderById: Enabled: false @@ -282,6 +318,12 @@ Rails/RakeEnvironment: Rails/ReadWriteAttribute: Enabled: false +Rails/RedirectBackOrTo: + Enabled: true + +Rails/RedundantActiveRecordAllMethod: + Enabled: false + Rails/RedundantAllowNil: Enabled: false @@ -325,9 +367,15 @@ Rails/ReversibleMigration: Rails/ReversibleMigrationMethodDefinition: Enabled: false +Rails/ResponseParsedBody: + Enabled: false + Rails/RootJoinChain: Enabled: false +Rails/RootPathnameMethods: + Enabled: false + Rails/RootPublicPath: Enabled: false @@ -358,9 +406,15 @@ Rails/SquishedSQLHeredocs: Rails/StripHeredoc: Enabled: false +Rails/StrongParametersExpect: + Enabled: true + Rails/TableNameAssignment: Enabled: false +Rails/ThreeStateBooleanColumn: + Enabled: true + Rails/TimeZone: Enabled: false @@ -370,6 +424,12 @@ Rails/TimeZoneAssignment: Rails/ToFormattedS: Enabled: false +Rails/TopLevelHashWithIndifferentAccess: + Enabled: true + +Rails/ToSWithArgument: + Enabled: true + Rails/TransactionExitStatement: Enabled: false @@ -385,6 +445,9 @@ Rails/UnknownEnv: Rails/UnusedIgnoredColumns: Enabled: false +Rails/UnusedRenderContent: + Enabled: true + Rails/Validation: Enabled: false @@ -394,9 +457,18 @@ Rails/WhereEquals: Rails/WhereExists: Enabled: false +Rails/WhereMissing: + Enabled: true + Rails/WhereNot: Enabled: false +Rails/WhereNotWithMultipleConditions: + Enabled: true + +Rails/WhereRange: + Enabled: true + Style/For: Exclude: - "**/*.erb" diff --git a/config/rails_pending.yml b/config/rails_pending.yml index 8cc55474..8d82b037 100644 --- a/config/rails_pending.yml +++ b/config/rails_pending.yml @@ -1,48 +1 @@ -Rails/ActionControllerFlashBeforeRender: # new in 2.16 - Enabled: false -Rails/ActionOrder: # new in 2.17 - Enabled: false -Rails/ActiveSupportOnLoad: # new in 2.16 - Enabled: false -Rails/FreezeTime: # new in 2.16 - Enabled: false -Rails/IgnoredColumnsAssignment: # new in 2.17 - Enabled: false -Rails/RootPathnameMethods: # new in 2.16 - Enabled: false -Rails/ToSWithArgument: # new in 2.16 - Enabled: false -Rails/TopLevelHashWithIndifferentAccess: # new in 2.16 - Enabled: false -Rails/WhereMissing: # new in 2.16 - Enabled: false -Rails/WhereNotWithMultipleConditions: # new in 2.17 - Enabled: false -Rails/DangerousColumnNames: # new in 2.21 - Enabled: false -Rails/EnvLocal: # new in 2.22 - Enabled: false -Rails/RedundantActiveRecordAllMethod: # new in 2.21 - Enabled: false -Rails/ResponseParsedBody: # new in 2.18 - Enabled: false -Rails/ThreeStateBooleanColumn: # new in 2.19 - Enabled: false -Rails/UnusedRenderContent: # new in 2.21 - Enabled: false -Rails/EnumSyntax: # new in 2.26 - Enabled: false -Rails/WhereRange: # new in 2.25 - Enabled: false -Rails/FindByOrAssignmentMemoization: # new in 2.33 - Enabled: true -Rails/HttpStatusNameConsistency: # new in 2.34 - Enabled: true -Rails/MultipleRoutePaths: # new in 2.29 - Enabled: true -Rails/OrderArguments: # new in 2.33 - Enabled: true -Rails/RedirectBackOrTo: # new in 2.34 - Enabled: true -Rails/StrongParametersExpect: # new in 2.29 - Enabled: true +# Newly introduced cops awaiting an explicit enabled or disabled decision. From e58198031499c597e6f9d862dee5ca87a34a8aa4 Mon Sep 17 00:00:00 2001 From: Issy Long Date: Fri, 2 Oct 2026 10:44:50 +0100 Subject: [PATCH 3/3] Bump gem version to 0.29.0 --- Gemfile.lock | 2 +- lib/version.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 24154dea..0d4936e2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - rubocop-github (0.28.0) + rubocop-github (0.29.0) rubocop (>= 1.91) rubocop-performance (>= 1.24) rubocop-rails (>= 2.34) diff --git a/lib/version.rb b/lib/version.rb index 352c6567..ea629238 100644 --- a/lib/version.rb +++ b/lib/version.rb @@ -1,3 +1,3 @@ # frozen_string_literal: true -VERSION = "0.28.0" +VERSION = "0.29.0"