]> git.openstreetmap.org Git - rails.git/blobdiff - .rubocop.yml
Merge remote-tracking branch 'upstream/pull/5254'
[rails.git] / .rubocop.yml
index 5bae96caa33e1f8d40c1c85284247d442eb87833..8b6ed018032c66c116e4b08fe6ba697e9c608a9d 100644 (file)
 inherit_from: .rubocop_todo.yml
 
 inherit_from: .rubocop_todo.yml
 
+require:
+  - rubocop-capybara
+  - rubocop-factory_bot
+  - rubocop-minitest
+  - rubocop-performance
+  - rubocop-rails
+  - rubocop-rake
+
 AllCops:
 AllCops:
-  Include:
-    - '**/*.gemspec'
-    - '**/*.podspec'
-    - '**/*.jbuilder'
-    - '**/*.rake'
-    - '**/*.opal'
-    - '**/config.ru'
-    - '**/Gemfile'
-    - '**/Rakefile'
-    - '**/Capfile'
-    - '**/Guardfile'
-    - '**/Podfile'
-    - '**/Thorfile'
-    - '**/Vagrantfile'
-    - '**/Berksfile'
-    - '**/Cheffile'
-    - '**/Vagabondfile'
-    - '**/Fastfile'
-    - '**/*.builder'
+  TargetRubyVersion: 3.1
+  NewCops: enable
+  Exclude:
+    - 'vendor/**/*'
 
 Rails:
   Enabled: true
 
 
 Rails:
   Enabled: true
 
-Style/BracesAroundHashParameters:
-  EnforcedStyle: context_dependent
-
-Style/ExtraSpacing:
+Layout/ExtraSpacing:
   AllowForAlignment: true
 
   AllowForAlignment: true
 
-Style/FileName:
+Lint/PercentStringArray:
+  Exclude:
+    - 'config/initializers/secure_headers.rb'
+    - 'app/controllers/application_controller.rb'
+    - 'app/controllers/site_controller.rb'
+
+Metrics/BlockLength:
+  Exclude:
+    - 'config/routes.rb'
+
+Metrics/ClassLength:
+  Exclude:
+    - 'test/**/*'
+
+Metrics/ModuleLength:
+  Max: 150
+
+Naming/FileName:
   Exclude:
     - 'script/deliver-message'
   Exclude:
     - 'script/deliver-message'
-    - 'script/locale/reload-languages'
     - 'script/update-spam-blocks'
 
     - 'script/update-spam-blocks'
 
-Style/IfInsideElse:
+Naming/MethodParameterName:
+  Enabled: false
+
+# This conflicts with Strong Migrations, which can't check `change_table`
+Rails/BulkChangeTable:
+  Enabled: false
+
+Rails/CreateTableWithTimestamps:
+  Enabled: false
+
+Rails/FindBy:
+  IgnoreWhereFirst: false
+
+Rails/FindEach:
+  Enabled: false
+
+Rails/HasManyOrHasOneDependent:
+  Enabled: false
+
+Rails/HttpPositionalArguments:
+  Enabled: false
+
+Rails/ReflectionClassName:
+  Enabled: false
+
+Rails/SkipsModelValidations:
+  Exclude:
+    - 'db/migrate/*.rb'
+    - 'app/controllers/users_controller.rb'
+
+Style/Documentation:
   Enabled: false
 
   Enabled: false
 
-Style/GlobalVars:
+Style/FormatStringToken:
   Exclude:
   Exclude:
-    - 'lib/quad_tile/extconf.rb'
+    - 'config/routes.rb'
+
+Style/IfInsideElse:
+  Enabled: false
 
 Style/GuardClause:
   Enabled: false
 
 
 Style/GuardClause:
   Enabled: false
 
+Style/HashEachMethods:
+  Enabled: true
+
 Style/HashSyntax:
   EnforcedStyle: hash_rockets
   Exclude:
     - 'lib/tasks/testing.rake'
     - 'config/initializers/wrap_parameters.rb'
 
 Style/HashSyntax:
   EnforcedStyle: hash_rockets
   Exclude:
     - 'lib/tasks/testing.rake'
     - 'config/initializers/wrap_parameters.rb'
 
-Style/StringLiterals:
-  EnforcedStyle: double_quotes
+Style/HashTransformKeys:
+  Enabled: true
 
 
-Rails/HttpPositionalArguments:
-  Enabled: false
+Style/HashTransformValues:
+  Enabled: true
 
 
-Rails/SkipsModelValidations:
+Style/MixinUsage:
   Exclude:
   Exclude:
-    - 'db/migrate/*.rb'
-    - 'app/controllers/user_controller.rb'
+    - 'bin/setup'
+    - 'bin/update'
 
 
-Lint/PercentStringArray:
-  Exclude:
-    - 'config/initializers/secure_headers.rb'
+Style/StringLiterals:
+  EnforcedStyle: double_quotes
+
+Style/SymbolArray:
+  EnforcedStyle: brackets