From 4b74d72fe442d024655d3e3eadd866efb1978da6 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 17:39:05 -0300 Subject: [PATCH 01/15] Bump rails version up to 8.0 --- annotate.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/annotate.gemspec b/annotate.gemspec index 43b2ac99..a3e4e470 100644 --- a/annotate.gemspec +++ b/annotate.gemspec @@ -23,7 +23,7 @@ Gem::Specification.new do |s| s.specification_version = 4 if s.respond_to? :specification_version s.add_runtime_dependency(%q, '>= 10.4', '< 14.0') - s.add_runtime_dependency(%q, ['>= 3.2', '< 8.0']) + s.add_runtime_dependency(%q, ['>= 3.2', '< 8.1']) s.metadata = { "bug_tracker_uri" => "https://github.com/ctran/annotate_models/issues/", From 3923945cc25dfae229be20badb5420ffd20959bf Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 17:41:27 -0300 Subject: [PATCH 02/15] Bump activerecord version up to 8.0 --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 0998ee0d..0c0e9cba 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' ruby '>= 2.4.0' -gem 'activerecord', '>= 4.2.5', '< 6', require: false +gem 'activerecord', '>= 4.2.5', '< 8.1', require: false gem 'rake', require: false group :development do From 7156b377db77006f36fd075aa124924237c72be7 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 17:41:41 -0300 Subject: [PATCH 03/15] Remove ruby_dep as is it not supported anymore --- Gemfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Gemfile b/Gemfile index 0c0e9cba..89b8ffda 100644 --- a/Gemfile +++ b/Gemfile @@ -29,7 +29,6 @@ group :development, :test do gem 'coveralls' gem 'overcommit' - gem 'ruby_dep', '1.5.0' platforms :mri, :mingw do gem 'pry', require: false From 21d0a79e6ea70fab7836d06d1637e50692514009 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 17:47:07 -0300 Subject: [PATCH 04/15] Remove old unsupported gem `files` --- Gemfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Gemfile b/Gemfile index 89b8ffda..103cc403 100644 --- a/Gemfile +++ b/Gemfile @@ -37,6 +37,5 @@ group :development, :test do end group :test do - gem 'files', require: false gem 'git', require: false end From d1da8b04083f6b355e2fa9f33ec00a1b4a0f6e32 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 17:48:23 -0300 Subject: [PATCH 05/15] Bump old rubocop --- Gemfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 103cc403..08efb781 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ source 'https://rubygems.org' ruby '>= 2.4.0' gem 'activerecord', '>= 4.2.5', '< 8.1', require: false +gem 'json', '>= 2.10', require: false gem 'rake', require: false group :development do @@ -19,9 +20,9 @@ group :development, :test do gem 'guard-rspec', require: false gem 'rspec', require: false - gem 'rubocop', '~> 1.12.0', require: false + gem 'rubocop', '~> 1.50', require: false gem 'rubocop-rake', require: false - gem 'rubocop-rspec', '~> 2.2.0', require: false + gem 'rubocop-rspec', '~> 2.20', require: false gem 'simplecov', require: false gem 'terminal-notifier-guard', require: false From 13b6a7546d5486f6db9f5b803304402ad7c5ec56 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 17:51:07 -0300 Subject: [PATCH 06/15] Remove more unused gems --- Gemfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Gemfile b/Gemfile index 08efb781..ad5f4891 100644 --- a/Gemfile +++ b/Gemfile @@ -3,13 +3,11 @@ source 'https://rubygems.org' ruby '>= 2.4.0' gem 'activerecord', '>= 4.2.5', '< 8.1', require: false -gem 'json', '>= 2.10', require: false gem 'rake', require: false group :development do gem 'bump' gem 'mg', require: false - gem 'travis', require: false platforms :mri, :mingw do gem 'yard', require: false end From 29147b28b93d79482ab3b71745b541660646926c Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 17:55:55 -0300 Subject: [PATCH 07/15] Remove capybara check --- .rubocop.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 4d06aa98..5dd63674 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -13,6 +13,9 @@ AllCops: - 'spec/integration/**/*' NewCops: enable +Capybara: + Enabled: false + Metrics/BlockLength: Exclude: - 'spec/**/*.rb' From 752f2eec1f229f77af8cf41d38f54e62e2fa11e4 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 17:57:14 -0300 Subject: [PATCH 08/15] Disable Capybara/Rspec --- .rubocop.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 5dd63674..e4530eec 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -16,6 +16,9 @@ AllCops: Capybara: Enabled: false +Capybara/RSpec: + Enabled: false + Metrics/BlockLength: Exclude: - 'spec/**/*.rb' From 07f2b9c184930b034acceb8cd7691205139fffc2 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 18:08:19 -0300 Subject: [PATCH 09/15] Update rubocop to a working version --- Gemfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index ad5f4891..81284635 100644 --- a/Gemfile +++ b/Gemfile @@ -18,9 +18,10 @@ group :development, :test do gem 'guard-rspec', require: false gem 'rspec', require: false - gem 'rubocop', '~> 1.50', require: false + gem 'rubocop', '~> 1.50.0', require: false + gem 'rubocop-ast', '~> 1.28.0', require: false gem 'rubocop-rake', require: false - gem 'rubocop-rspec', '~> 2.20', require: false + gem 'rubocop-rspec', '~> 2.20.0', require: false gem 'simplecov', require: false gem 'terminal-notifier-guard', require: false From 6267600c2daccb058814a036dbb9b4cdfdb37bb4 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 18:08:26 -0300 Subject: [PATCH 10/15] Generate an updated rubocop todo --- .rubocop_todo.yml | 433 +++++++++++++++++++++++++++++----------------- 1 file changed, 273 insertions(+), 160 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8d3c7701..8952bd37 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,13 +1,21 @@ # This configuration was generated by -# `rubocop --auto-gen-config` -# on 2022-06-14 03:17:11 UTC using RuboCop version 1.12.1. +# `rubocop --auto-gen-config --auto-gen-only-exclude` +# on 2026-01-06 21:07:10 UTC using RuboCop version 1.50.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Severity, Include. +# Include: **/*.gemspec +Gemspec/DeprecatedAttributeAssignment: + Exclude: + - 'annotate.gemspec' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include. # Include: **/*.gemspec Gemspec/OrderedDependencies: @@ -15,14 +23,22 @@ Gemspec/OrderedDependencies: - 'annotate.gemspec' # Offense count: 1 -# Configuration parameters: Include. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Severity, Include. +# Include: **/*.gemspec +Gemspec/RequireMFA: + Exclude: + - 'annotate.gemspec' + +# Offense count: 1 +# Configuration parameters: Severity, Include. # Include: **/*.gemspec Gemspec/RequiredRubyVersion: Exclude: - 'annotate.gemspec' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyleAlignWith. # SupportedStylesAlignWith: either, start_of_block, start_of_line Layout/BlockAlignment: @@ -30,7 +46,7 @@ Layout/BlockAlignment: - 'lib/annotate/annotate_models.rb' # Offense count: 9 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Layout/EmptyLineAfterGuardClause: Exclude: - 'Rakefile' @@ -38,30 +54,29 @@ Layout/EmptyLineAfterGuardClause: - 'lib/annotate/annotate_models.rb' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Layout/EmptyLineAfterMagicComment: Exclude: - 'annotate.gemspec' - 'spec/lib/annotate/annotate_models_spec.rb' -# Offense count: 3 -# Cop supports --auto-correct. +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. Layout/ExtraSpacing: Exclude: - 'Guardfile' - - 'lib/annotate/annotate_models.rb' - 'lib/tasks/annotate_routes.rake' # Offense count: 14 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: IndentationWidth. # SupportedStyles: special_inside_parentheses, consistent, align_brackets Layout/FirstArrayElementIndentation: EnforcedStyle: consistent -# Offense count: 65 -# Cop supports --auto-correct. +# Offense count: 68 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. # SupportedHashRocketStyles: key, separator, table # SupportedColonStyles: key, separator, table @@ -71,8 +86,8 @@ Layout/HashAlignment: - 'lib/generators/annotate/templates/auto_annotate_models.rake' - 'spec/lib/annotate/annotate_models_spec.rb' -# Offense count: 5 -# Cop supports --auto-correct. +# Offense count: 6 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented Layout/MultilineOperationIndentation: @@ -80,7 +95,7 @@ Layout/MultilineOperationIndentation: - 'lib/annotate/annotate_models.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: space, no_space Layout/SpaceAroundEqualsInParameterDefault: @@ -88,7 +103,7 @@ Layout/SpaceAroundEqualsInParameterDefault: - 'lib/annotate/annotate_routes.rb' # Offense count: 4 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator. # SupportedStylesForExponentOperator: space, no_space Layout/SpaceAroundOperators: @@ -97,7 +112,7 @@ Layout/SpaceAroundOperators: - 'lib/tasks/annotate_routes.rake' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. # SupportedStyles: space, no_space # SupportedStylesForEmptyBraces: space, no_space @@ -106,13 +121,13 @@ Layout/SpaceBeforeBlockBraces: - 'lib/annotate/annotate_models.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Layout/SpaceBeforeComment: Exclude: - 'lib/annotate/annotate_models.rb' # Offense count: 4 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. # SupportedStyles: space, no_space # SupportedStylesForEmptyBraces: space, no_space @@ -121,7 +136,7 @@ Layout/SpaceInsideBlockBraces: - 'lib/annotate/annotate_models.rb' # Offense count: 4 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. # SupportedStyles: space, no_space, compact # SupportedStylesForEmptyBraces: space, no_space @@ -130,15 +145,15 @@ Layout/SpaceInsideHashLiteralBraces: - 'lib/tasks/annotate_models.rake' # Offense count: 4 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. -# SupportedStyles: space, no_space +# SupportedStyles: space, compact, no_space Layout/SpaceInsideParens: Exclude: - 'lib/annotate/annotate_models.rb' # Offense count: 4 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: space, no_space Layout/SpaceInsideStringInterpolation: @@ -146,13 +161,21 @@ Layout/SpaceInsideStringInterpolation: - 'lib/annotate/annotate_models.rb' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowInHeredoc. Layout/TrailingWhitespace: Exclude: - 'spec/lib/annotate/annotate_routes_spec.rb' +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +Lint/AmbiguousOperatorPrecedence: + Exclude: + - 'lib/annotate/annotate_models.rb' + - 'lib/annotate/annotate_routes/header_generator.rb' + # Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: AllowSafeAssignment. Lint/AssignmentInCondition: Exclude: @@ -166,15 +189,12 @@ Lint/ConstantDefinitionInBlock: - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/annotate_routes_spec.rb' -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: runtime_error, standard_error -Lint/InheritException: +# Offense count: 6 +Lint/FormatParameterMismatch: Exclude: - 'lib/annotate/annotate_models.rb' -# Offense count: 1 +# Offense count: 2 # Configuration parameters: MaximumRangeSize. Lint/MissingCopEnableDirective: Exclude: @@ -197,7 +217,7 @@ Lint/SuppressedException: - 'bin/annotate' # Offense count: 3 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: strict, consistent Lint/SymbolConversion: @@ -206,44 +226,70 @@ Lint/SymbolConversion: - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 20 -# Configuration parameters: IgnoredMethods, CountRepeatedAttributes. +# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max. Metrics/AbcSize: - Max: 155 + Exclude: + - 'lib/annotate.rb' + - 'lib/annotate/annotate_models.rb' + - 'lib/annotate/annotate_routes.rb' + - 'lib/annotate/annotate_routes/header_generator.rb' # Offense count: 7 -# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods. -# IgnoredMethods: refine +# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode. +# AllowedMethods: refine Metrics/BlockLength: - Max: 53 + Exclude: + - 'Rakefile' + - 'lib/generators/annotate/templates/auto_annotate_models.rake' + - 'lib/tasks/annotate_models.rake' # Offense count: 1 -# Configuration parameters: CountBlocks. +# Configuration parameters: CountBlocks, Max. Metrics/BlockNesting: - Max: 4 + Exclude: + - 'lib/annotate/annotate_models.rb' -# Offense count: 16 -# Configuration parameters: IgnoredMethods. +# Offense count: 1 +# Configuration parameters: CountComments, Max, CountAsOne. +Metrics/ClassLength: + Exclude: + - 'lib/annotate/annotate_models.rb' + +# Offense count: 17 +# Configuration parameters: AllowedMethods, AllowedPatterns, Max. Metrics/CyclomaticComplexity: - Max: 30 + Exclude: + - 'lib/annotate.rb' + - 'lib/annotate/annotate_models.rb' + - 'lib/annotate/annotate_models/file_patterns.rb' + - 'lib/annotate/annotate_routes.rb' + - 'lib/annotate/annotate_routes/header_generator.rb' # Offense count: 31 -# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods. +# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns. Metrics/MethodLength: - Max: 40 + Exclude: + - 'lib/annotate.rb' + - 'lib/annotate/annotate_models.rb' + - 'lib/annotate/annotate_models/file_patterns.rb' + - 'lib/annotate/annotate_routes.rb' + - 'lib/annotate/annotate_routes/header_generator.rb' + - 'lib/annotate/annotate_routes/helpers.rb' + - 'spec/lib/annotate/annotate_models_spec.rb' -# Offense count: 15 -# Configuration parameters: IgnoredMethods. +# Offense count: 16 +# Configuration parameters: AllowedMethods, AllowedPatterns, Max. Metrics/PerceivedComplexity: - Max: 33 - -# Offense count: 1 -Naming/AccessorMethodName: Exclude: - 'lib/annotate.rb' + - 'lib/annotate/annotate_models.rb' + - 'lib/annotate/annotate_routes.rb' + - 'lib/annotate/annotate_routes/header_generator.rb' + - 'lib/annotate/annotate_routes/helpers.rb' -# Offense count: 105 +# Offense count: 115 # Configuration parameters: ForbiddenDelimiters. -# ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$)) +# ForbiddenDelimiters: (?i-mx:(^|\s)(EO[A-Z]{1}|END)(\s|$)) Naming/HeredocDelimiterNaming: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' @@ -258,30 +304,28 @@ Naming/MemoizedInstanceVariableName: # Offense count: 1 # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. -# AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to +# AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to Naming/MethodParameterName: Exclude: - 'Rakefile' # Offense count: 13 -# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers. +# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns. # SupportedStyles: snake_case, normalcase, non_integer -# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339 +# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64 Naming/VariableNumber: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/helpers_spec.rb' -# Offense count: 1 -RSpec/BeforeAfterAll: +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +RSpec/BeEq: Exclude: - - 'spec/spec_helper.rb' - - 'spec/rails_helper.rb' - - 'spec/support/**/*.rb' - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 46 -# Configuration parameters: Prefixes. +# Configuration parameters: Prefixes, AllowedPatterns. # Prefixes: when, with, without RSpec/ContextWording: Exclude: @@ -293,10 +337,15 @@ RSpec/ContextWording: # Configuration parameters: IgnoredMetadata. RSpec/DescribeClass: Exclude: + - '**/spec/features/**/*' + - '**/spec/requests/**/*' + - '**/spec/routing/**/*' + - '**/spec/system/**/*' + - '**/spec/views/**/*' - 'spec/lib/tasks/annotate_models_migrate_spec.rb' -# Offense count: 149 -# Cop supports --auto-correct. +# Offense count: 155 +# This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: SkipBlocks, EnforcedStyle. # SupportedStyles: described_class, explicit RSpec/DescribedClass: @@ -307,8 +356,8 @@ RSpec/DescribedClass: - 'spec/lib/annotate/parser_spec.rb' - 'spec/lib/annotate_spec.rb' -# Offense count: 32 -# Cop supports --auto-correct. +# Offense count: 34 +# This cop supports safe autocorrection (--autocorrect). RSpec/EmptyLineAfterFinalLet: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' @@ -316,13 +365,13 @@ RSpec/EmptyLineAfterFinalLet: - 'spec/lib/annotate/parser_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). RSpec/EmptyLineAfterSubject: Exclude: - 'spec/lib/annotate/helpers_spec.rb' -# Offense count: 14 -# Configuration parameters: Max. +# Offense count: 15 +# Configuration parameters: Max, CountAsOne. RSpec/ExampleLength: Exclude: - 'spec/lib/annotate/annotate_models/file_patterns_spec.rb' @@ -330,23 +379,30 @@ RSpec/ExampleLength: - 'spec/lib/annotate/parser_spec.rb' - 'spec/lib/tasks/annotate_models_migrate_spec.rb' -# Offense count: 22 -# Cop supports --auto-correct. -# Configuration parameters: CustomTransform, IgnoredWords. +# Offense count: 29 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples. +# DisallowedExamples: works RSpec/ExampleWording: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/annotate_routes_spec.rb' - 'spec/lib/tasks/annotate_models_migrate_spec.rb' -# Offense count: 9 +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +RSpec/ExcessiveDocstringSpacing: + Exclude: + - 'spec/lib/annotate/annotate_models_spec.rb' + +# Offense count: 12 RSpec/ExpectInHook: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/annotate_routes_spec.rb' -# Offense count: 10 -# Cop supports --auto-correct. +# Offense count: 16 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: implicit, each, example RSpec/HookArgument: @@ -355,30 +411,30 @@ RSpec/HookArgument: - 'spec/lib/annotate/annotate_routes_spec.rb' - 'spec/lib/annotate/parser_spec.rb' -# Offense count: 1 -# Cop supports --auto-correct. -RSpec/HooksBeforeExamples: - Exclude: - - 'spec/lib/annotate/annotate_models_spec.rb' - -# Offense count: 78 -# Cop supports --auto-correct. +# Offense count: 86 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. -# SupportedStyles: single_line_only, single_statement_only, disallow +# SupportedStyles: single_line_only, single_statement_only, disallow, require_implicit RSpec/ImplicitSubject: Exclude: - 'spec/lib/annotate/annotate_models/file_patterns_spec.rb' - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/helpers_spec.rb' -# Offense count: 51 +# Offense count: 4 +# Configuration parameters: Max. +RSpec/IndexedLet: + Exclude: + - 'spec/lib/annotate/helpers_spec.rb' + +# Offense count: 54 # Configuration parameters: AssignmentOnly. RSpec/InstanceVariable: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 4 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). RSpec/LeadingSubject: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' @@ -389,7 +445,7 @@ RSpec/LeakyConstantDeclaration: - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/annotate_routes_spec.rb' -# Offense count: 108 +# Offense count: 113 # Configuration parameters: EnforcedStyle. # SupportedStyles: have_received, receive RSpec/MessageSpies: @@ -400,29 +456,41 @@ RSpec/MessageSpies: - 'spec/lib/annotate/parser_spec.rb' - 'spec/lib/tasks/annotate_models_migrate_spec.rb' -# Offense count: 36 +# Offense count: 37 +# Configuration parameters: Max. RSpec/MultipleExpectations: - Max: 4 + Exclude: + - 'spec/lib/annotate/annotate_models_spec.rb' + - 'spec/lib/annotate/annotate_routes_spec.rb' + - 'spec/lib/annotate/helpers_spec.rb' + - 'spec/lib/annotate/parser_spec.rb' + - 'spec/lib/tasks/annotate_models_migrate_spec.rb' -# Offense count: 66 -# Configuration parameters: AllowSubject. +# Offense count: 82 +# Configuration parameters: AllowSubject, Max. RSpec/MultipleMemoizedHelpers: - Max: 9 + Exclude: + - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 6 -# Configuration parameters: IgnoreSharedExamples. +# Configuration parameters: EnforcedStyle, IgnoreSharedExamples. +# SupportedStyles: always, named_only RSpec/NamedSubject: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/helpers_spec.rb' - 'spec/lib/tasks/annotate_models_migrate_spec.rb' -# Offense count: 140 +# Offense count: 154 +# Configuration parameters: Max, AllowedGroups. RSpec/NestedGroups: - Max: 9 + Exclude: + - 'spec/lib/annotate/annotate_models/file_patterns_spec.rb' + - 'spec/lib/annotate/annotate_models_spec.rb' + - 'spec/lib/annotate/annotate_routes_spec.rb' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: not_to, to_not RSpec/NotToNot: @@ -441,14 +509,14 @@ RSpec/RepeatedExampleGroupDescription: - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 3 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: and_return, block RSpec/ReturnFromStub: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' -# Offense count: 7 +# Offense count: 8 # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames. RSpec/VerifiedDoubles: Exclude: @@ -456,7 +524,7 @@ RSpec/VerifiedDoubles: - 'spec/lib/annotate/annotate_routes_spec.rb' # Offense count: 16 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Rake/Desc: Exclude: - 'Rakefile' @@ -472,7 +540,7 @@ Rake/DuplicateTask: - 'lib/tasks/annotate_routes.rake' # Offense count: 3 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: separated, grouped Style/AccessorGrouping: @@ -480,33 +548,27 @@ Style/AccessorGrouping: - 'lib/annotate/annotate_models.rb' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: AllowOnConstant. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowOnConstant, AllowOnSelfClass. Style/CaseEquality: Exclude: - 'lib/annotate/annotate_models.rb' -# Offense count: 1 -# Cop supports --auto-correct. -Style/CaseLikeIf: - Exclude: - - 'lib/annotate/annotate_routes.rb' - # Offense count: 2 Style/ClassVars: Exclude: - 'lib/tasks/annotate_models_migrate.rake' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: Keywords. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Keywords, RequireColon. # Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW, NOTE Style/CommentAnnotation: Exclude: - 'lib/annotate/annotate_models.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/Dir: Exclude: - 'bin/annotate' @@ -528,76 +590,105 @@ Style/Documentation: - 'lib/tasks/annotate_models_migrate.rake' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/Encoding: Exclude: - 'annotate.gemspec' - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/ExpandPathArguments: Exclude: - 'annotate.gemspec' -# Offense count: 9 -# Cop supports --auto-correct. +# Offense count: 66 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedVars. +Style/FetchEnvVar: + Exclude: + - 'bin/annotate' + - 'lib/annotate.rb' + - 'lib/annotate/helpers.rb' + - 'lib/tasks/annotate_models.rake' + - 'lib/tasks/annotate_routes.rake' + - 'spec/lib/annotate/annotate_models_spec.rb' + - 'spec/lib/annotate/parser_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/FileWrite: + Exclude: + - 'spec/lib/annotate/annotate_models_spec.rb' + +# Offense count: 12 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: format, sprintf, percent Style/FormatString: Exclude: - 'lib/annotate/annotate_models.rb' -# Offense count: 12 -# Configuration parameters: MaxUnannotatedPlaceholdersAllowed, IgnoredMethods. +# Offense count: 13 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns. # SupportedStyles: annotated, template, unannotated Style/FormatStringToken: EnforcedStyle: unannotated -# Offense count: 30 -# Cop supports --auto-correct. +# Offense count: 31 +# This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never Style/FrozenStringLiteralComment: Enabled: false # Offense count: 1 -# Configuration parameters: MinBodyLength. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. Style/GuardClause: Exclude: - 'lib/tasks/annotate_models_migrate.rake' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowSplatArgument. Style/HashConversion: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +# SupportedShorthandSyntax: always, never, either, consistent Style/HashSyntax: Exclude: - 'lib/tasks/annotate_routes.rake' - 'spec/lib/annotate/annotate_models_spec.rb' -# Offense count: 7 -# Cop supports --auto-correct. +# Offense count: 11 +# This cop supports safe autocorrection (--autocorrect). Style/IfUnlessModifier: Exclude: - 'Rakefile' - 'bin/annotate' + - 'lib/annotate.rb' - 'lib/annotate/annotate_models.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: InverseMethods, InverseBlocks. Style/InverseMethods: Exclude: - 'Rakefile' +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/MapToHash: + Exclude: + - 'lib/annotate/annotate_models.rb' + # Offense count: 1 Style/MissingRespondToMissing: Exclude: @@ -615,20 +706,20 @@ Style/MultilineBlockChain: - 'lib/annotate/annotate_models.rb' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/MultilineIfModifier: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/annotate_routes_spec.rb' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/NegatedIfElseCondition: Exclude: - 'lib/annotate.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowedMethods. # AllowedMethods: be, be_a, be_an, be_between, be_falsey, be_kind_of, be_instance_of, be_truthy, be_within, eq, eql, end_with, include, match, raise_error, respond_to, start_with Style/NestedParenthesizedCalls: @@ -636,8 +727,8 @@ Style/NestedParenthesizedCalls: - 'bin/annotate' # Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, IgnoredMethods. +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns. # SupportedStyles: predicate, comparison Style/NumericPredicate: Exclude: @@ -646,7 +737,7 @@ Style/NumericPredicate: - 'lib/annotate/annotate_models.rb' # Offense count: 13 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: PreferredDelimiters. Style/PercentLiteralDelimiters: Exclude: @@ -658,7 +749,7 @@ Style/PercentLiteralDelimiters: - 'spec/lib/tasks/annotate_models_migrate_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, AllowedCompactTypes. # SupportedStyles: compact, exploded Style/RaiseArgs: @@ -666,59 +757,59 @@ Style/RaiseArgs: - 'lib/annotate/annotate_models.rb' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Methods. Style/RedundantArgument: Exclude: - 'lib/annotate/annotate_routes/header_generator.rb' # Offense count: 3 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/RedundantBegin: Exclude: - 'lib/annotate/annotate_models.rb' - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/RedundantParentheses: Exclude: - 'lib/annotate/annotate_models.rb' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/RedundantPercentQ: Exclude: - 'annotate.gemspec' # Offense count: 3 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/RedundantRegexpCharacterClass: Exclude: - 'lib/annotate/annotate_models.rb' # Offense count: 3 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/RedundantRegexpEscape: Exclude: - 'lib/annotate/annotate_models.rb' - 'lib/annotate/annotate_routes/header_generator.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowMultipleReturnValues. Style/RedundantReturn: Exclude: - 'lib/annotate/annotate_routes/helpers.rb' # Offense count: 2 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/RedundantSelf: Exclude: - 'lib/tasks/annotate_models_migrate.rake' # Offense count: 12 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, AllowInnerSlashes. # SupportedStyles: slashes, percent_r, mixed Style/RegexpLiteral: @@ -727,13 +818,13 @@ Style/RegexpLiteral: - 'lib/annotate/annotate_models.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/RescueModifier: Exclude: - 'lib/annotate/annotate_models.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: implicit, explicit Style/RescueStandardError: @@ -741,36 +832,43 @@ Style/RescueStandardError: - 'lib/annotate.rb' # Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods. +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. # AllowedMethods: present?, blank?, presence, try, try! Style/SafeNavigation: Exclude: - 'lib/annotate/annotate_models.rb' +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/SelectByRegexp: + Exclude: + - 'lib/annotate/annotate_routes/header_generator.rb' + # Offense count: 3 -# Cop supports --auto-correct. +# This cop supports unsafe autocorrection (--autocorrect-all). Style/SlicingWithRange: Exclude: - 'lib/annotate/annotate_models.rb' - 'lib/annotate/annotate_routes/header_generator.rb' # Offense count: 15 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/StderrPuts: Exclude: - 'Rakefile' - 'lib/annotate.rb' - 'lib/annotate/annotate_models.rb' -# Offense count: 13 -# Cop supports --auto-correct. +# Offense count: 14 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Mode. Style/StringConcatenation: Exclude: - 'lib/annotate/annotate_models.rb' -# Offense count: 57 -# Cop supports --auto-correct. +# Offense count: 61 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. # SupportedStyles: single_quotes, double_quotes Style/StringLiterals: @@ -783,8 +881,8 @@ Style/StringLiterals: - 'spec/lib/annotate/annotate_models_spec.rb' - 'spec/lib/annotate/parser_spec.rb' -# Offense count: 2 -# Cop supports --auto-correct. +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: single_quotes, double_quotes Style/StringLiteralsInInterpolation: @@ -792,29 +890,44 @@ Style/StringLiteralsInInterpolation: - 'lib/annotate/annotate_models.rb' # Offense count: 8 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: MinSize. # SupportedStyles: percent, brackets Style/SymbolArray: EnforcedStyle: brackets # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). Style/SymbolLiteral: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 3 -# Cop supports --auto-correct. +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyleForMultiline. # SupportedStylesForMultiline: comma, consistent_comma, no_comma Style/TrailingCommaInArrayLiteral: Exclude: - 'spec/lib/annotate/annotate_models_spec.rb' -# Offense count: 52 -# Cop supports --auto-correct. -# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/ZeroLengthPredicate: + Exclude: + - 'lib/annotate/annotate_routes/header_generator.rb' + +# Offense count: 55 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. # URISchemes: http, https Layout/LineLength: - Max: 264 + Exclude: + - 'Guardfile' + - 'Rakefile' + - 'lib/annotate.rb' + - 'lib/annotate/annotate_models.rb' + - 'lib/annotate/annotate_routes/header_generator.rb' + - 'lib/annotate/annotate_routes/helpers.rb' + - 'lib/annotate/parser.rb' + - 'spec/lib/annotate/annotate_models_spec.rb' + - 'spec/lib/annotate/annotate_routes_spec.rb' From e11d03043458b5fce57ebd632e35b7f35dcec6b2 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 18:10:14 -0300 Subject: [PATCH 11/15] Make overcommit use the correct rubocop --- .overcommit.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.overcommit.yml b/.overcommit.yml index 1f28db92..3b19cd91 100644 --- a/.overcommit.yml +++ b/.overcommit.yml @@ -16,9 +16,10 @@ # Uncomment the following lines to make the configuration take effect. PreCommit: - RuboCop: - enabled: true - on_warn: fail # Treat all warnings as failures + RuboCop: + enabled: true + on_warn: fail + command: ['bundle', 'exec', 'rubocop'] PrePush: RSpec: From e82a421477278dc3172b45833073d38d80d1a171 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 18:11:41 -0300 Subject: [PATCH 12/15] Update .rubocop_todo.yml --- .rubocop_todo.yml | 102 ++++++++++++---------------------------------- 1 file changed, 26 insertions(+), 76 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8952bd37..0e11258d 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by -# `rubocop --auto-gen-config --auto-gen-only-exclude` -# on 2026-01-06 21:07:10 UTC using RuboCop version 1.50.2. +# `rubocop --auto-gen-config` +# on 2026-01-06 21:11:13 UTC using RuboCop version 1.50.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -226,66 +226,40 @@ Lint/SymbolConversion: - 'spec/lib/annotate/annotate_models_spec.rb' # Offense count: 20 -# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max. +# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. Metrics/AbcSize: - Exclude: - - 'lib/annotate.rb' - - 'lib/annotate/annotate_models.rb' - - 'lib/annotate/annotate_routes.rb' - - 'lib/annotate/annotate_routes/header_generator.rb' + Max: 104 # Offense count: 7 -# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode. +# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode. # AllowedMethods: refine Metrics/BlockLength: - Exclude: - - 'Rakefile' - - 'lib/generators/annotate/templates/auto_annotate_models.rake' - - 'lib/tasks/annotate_models.rake' + Max: 53 # Offense count: 1 -# Configuration parameters: CountBlocks, Max. +# Configuration parameters: CountBlocks. Metrics/BlockNesting: - Exclude: - - 'lib/annotate/annotate_models.rb' + Max: 4 # Offense count: 1 -# Configuration parameters: CountComments, Max, CountAsOne. +# Configuration parameters: CountComments, CountAsOne. Metrics/ClassLength: - Exclude: - - 'lib/annotate/annotate_models.rb' + Max: 707 # Offense count: 17 -# Configuration parameters: AllowedMethods, AllowedPatterns, Max. +# Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/CyclomaticComplexity: - Exclude: - - 'lib/annotate.rb' - - 'lib/annotate/annotate_models.rb' - - 'lib/annotate/annotate_models/file_patterns.rb' - - 'lib/annotate/annotate_routes.rb' - - 'lib/annotate/annotate_routes/header_generator.rb' + Max: 30 # Offense count: 31 -# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns. +# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns. Metrics/MethodLength: - Exclude: - - 'lib/annotate.rb' - - 'lib/annotate/annotate_models.rb' - - 'lib/annotate/annotate_models/file_patterns.rb' - - 'lib/annotate/annotate_routes.rb' - - 'lib/annotate/annotate_routes/header_generator.rb' - - 'lib/annotate/annotate_routes/helpers.rb' - - 'spec/lib/annotate/annotate_models_spec.rb' + Max: 33 # Offense count: 16 -# Configuration parameters: AllowedMethods, AllowedPatterns, Max. +# Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/PerceivedComplexity: - Exclude: - - 'lib/annotate.rb' - - 'lib/annotate/annotate_models.rb' - - 'lib/annotate/annotate_routes.rb' - - 'lib/annotate/annotate_routes/header_generator.rb' - - 'lib/annotate/annotate_routes/helpers.rb' + Max: 33 # Offense count: 115 # Configuration parameters: ForbiddenDelimiters. @@ -371,13 +345,9 @@ RSpec/EmptyLineAfterSubject: - 'spec/lib/annotate/helpers_spec.rb' # Offense count: 15 -# Configuration parameters: Max, CountAsOne. +# Configuration parameters: CountAsOne. RSpec/ExampleLength: - Exclude: - - 'spec/lib/annotate/annotate_models/file_patterns_spec.rb' - - 'spec/lib/annotate/annotate_models_spec.rb' - - 'spec/lib/annotate/parser_spec.rb' - - 'spec/lib/tasks/annotate_models_migrate_spec.rb' + Max: 17 # Offense count: 29 # This cop supports safe autocorrection (--autocorrect). @@ -457,20 +427,13 @@ RSpec/MessageSpies: - 'spec/lib/tasks/annotate_models_migrate_spec.rb' # Offense count: 37 -# Configuration parameters: Max. RSpec/MultipleExpectations: - Exclude: - - 'spec/lib/annotate/annotate_models_spec.rb' - - 'spec/lib/annotate/annotate_routes_spec.rb' - - 'spec/lib/annotate/helpers_spec.rb' - - 'spec/lib/annotate/parser_spec.rb' - - 'spec/lib/tasks/annotate_models_migrate_spec.rb' + Max: 4 # Offense count: 82 -# Configuration parameters: AllowSubject, Max. +# Configuration parameters: AllowSubject. RSpec/MultipleMemoizedHelpers: - Exclude: - - 'spec/lib/annotate/annotate_models_spec.rb' + Max: 10 # Offense count: 6 # Configuration parameters: EnforcedStyle, IgnoreSharedExamples. @@ -482,12 +445,9 @@ RSpec/NamedSubject: - 'spec/lib/tasks/annotate_models_migrate_spec.rb' # Offense count: 154 -# Configuration parameters: Max, AllowedGroups. +# Configuration parameters: AllowedGroups. RSpec/NestedGroups: - Exclude: - - 'spec/lib/annotate/annotate_models/file_patterns_spec.rb' - - 'spec/lib/annotate/annotate_models_spec.rb' - - 'spec/lib/annotate/annotate_routes_spec.rb' + Max: 10 # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). @@ -667,13 +627,12 @@ Style/HashSyntax: - 'lib/tasks/annotate_routes.rake' - 'spec/lib/annotate/annotate_models_spec.rb' -# Offense count: 11 +# Offense count: 8 # This cop supports safe autocorrection (--autocorrect). Style/IfUnlessModifier: Exclude: - 'Rakefile' - 'bin/annotate' - - 'lib/annotate.rb' - 'lib/annotate/annotate_models.rb' # Offense count: 1 @@ -918,16 +877,7 @@ Style/ZeroLengthPredicate: # Offense count: 55 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. # URISchemes: http, https Layout/LineLength: - Exclude: - - 'Guardfile' - - 'Rakefile' - - 'lib/annotate.rb' - - 'lib/annotate/annotate_models.rb' - - 'lib/annotate/annotate_routes/header_generator.rb' - - 'lib/annotate/annotate_routes/helpers.rb' - - 'lib/annotate/parser.rb' - - 'spec/lib/annotate/annotate_models_spec.rb' - - 'spec/lib/annotate/annotate_routes_spec.rb' + Max: 264 From 04c4762196cd842205fc63c2cbb4a1b626859a74 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 18:12:31 -0300 Subject: [PATCH 13/15] Use `fileutils` instead of `Files` on specs --- spec/lib/annotate/annotate_models_spec.rb | 26 +++++++++-------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/spec/lib/annotate/annotate_models_spec.rb b/spec/lib/annotate/annotate_models_spec.rb index 09647461..ad2b9181 100644 --- a/spec/lib/annotate/annotate_models_spec.rb +++ b/spec/lib/annotate/annotate_models_spec.rb @@ -3,8 +3,8 @@ require 'annotate/annotate_models' require 'annotate/active_record_patch' require 'active_support/core_ext/string' -require 'files' require 'tmpdir' +require 'fileutils' describe AnnotateModels do MAGIC_COMMENTS = [ @@ -406,7 +406,7 @@ def mock_column(name, type, options = {}) end end - context 'with Globalize gem' do # rubocop:disable RSpec/MultipleMemoizedHelpers + context 'with Globalize gem' do let :translation_klass do double('Folder::Post::Translation', to_s: 'Folder::Post::Translation', @@ -696,7 +696,6 @@ def mock_column(name, type, options = {}) is_expected.to eq expected_result end - # rubocop:disable RSpec/NestedGroups context 'when the unprefixed table name does not exist' do let :klass do mock_class(:users, primary_key, columns, indexes, foreign_keys).tap do |mock_klass| @@ -712,7 +711,6 @@ def mock_column(name, type, options = {}) expect(klass.connection).to have_received(:table_exists?).with('users') end end - # rubocop:enable RSpec/NestedGroups end end @@ -2014,18 +2012,14 @@ def mock_column(name, type, options = {}) context 'when `model_dir` is valid' do let(:model_dir) do - Files do - file 'foo.rb' - dir 'bar' do - file 'baz.rb' - dir 'qux' do - file 'quux.rb' - end - end - dir 'concerns' do - file 'corge.rb' - end - end + dir = Dir.mktmpdir + FileUtils.touch(File.join(dir, 'foo.rb')) + FileUtils.mkdir_p(File.join(dir, 'bar', 'qux')) + FileUtils.touch(File.join(dir, 'bar', 'baz.rb')) + FileUtils.touch(File.join(dir, 'bar', 'qux', 'quux.rb')) + FileUtils.mkdir_p(File.join(dir, 'concerns')) + FileUtils.touch(File.join(dir, 'concerns', 'corge.rb')) + dir end context 'when the model files are not specified' do From b1515852db672f8944ae96a24e5f41a29a46540b Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 18:12:47 -0300 Subject: [PATCH 14/15] Remove rubocop:disable Metrics/ClassLength --- lib/annotate/parser.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/annotate/parser.rb b/lib/annotate/parser.rb index ad85caf5..27597386 100644 --- a/lib/annotate/parser.rb +++ b/lib/annotate/parser.rb @@ -2,7 +2,7 @@ module Annotate # Class for handling command line arguments - class Parser # rubocop:disable Metrics/ClassLength + class Parser def self.parse(args, env = {}) new(args, env).parse end From c4b0e1de36d19c78a4f9d6fdedb782ef250670d8 Mon Sep 17 00:00:00 2001 From: Lucas Arruda Date: Tue, 6 Jan 2026 18:12:53 -0300 Subject: [PATCH 15/15] Update version.rb --- lib/annotate/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/annotate/version.rb b/lib/annotate/version.rb index e103c6b8..f63d8a3e 100644 --- a/lib/annotate/version.rb +++ b/lib/annotate/version.rb @@ -1,5 +1,5 @@ module Annotate def self.version - '3.2.0' + '3.2.1' end end