X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/3ec67ea2d395f9ae78f806f8e583e10d691861de..bd86b93ffe594d54ffa39d1137de37d9976ae330:/.rubocop.yml?ds=sidebyside
diff --git a/.rubocop.yml b/.rubocop.yml
index abf25d3cd..cfa31cc04 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -1,7 +1,17 @@
inherit_from: .rubocop_todo.yml
+require:
+ - rubocop-capybara
+ - rubocop-minitest
+ - rubocop-performance
+ - rubocop-rails
+ - rubocop-rake
+
AllCops:
- TargetRubyVersion: 2.3
+ TargetRubyVersion: 2.7
+ NewCops: enable
+ Exclude:
+ - 'vendor/**/*'
Rails:
Enabled: true
@@ -15,16 +25,23 @@ Lint/PercentStringArray:
- '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'
- - 'script/locale/reload-languages'
- 'script/update-spam-blocks'
-Naming/UncommunicativeMethodParamName:
- Enabled: false
-
-Rails/ApplicationRecord:
+Naming/MethodParameterName:
Enabled: false
Rails/CreateTableWithTimestamps:
@@ -39,7 +56,7 @@ Rails/HasManyOrHasOneDependent:
Rails/HttpPositionalArguments:
Enabled: false
-Rails/InverseOf:
+Rails/ReflectionClassName:
Enabled: false
Rails/SkipsModelValidations:
@@ -47,28 +64,34 @@ Rails/SkipsModelValidations:
- 'db/migrate/*.rb'
- 'app/controllers/users_controller.rb'
-Style/BracesAroundHashParameters:
- EnforcedStyle: context_dependent
+Style/Documentation:
+ Enabled: false
Style/FormatStringToken:
- EnforcedStyle: template
+ Exclude:
+ - 'config/routes.rb'
Style/IfInsideElse:
Enabled: false
-Style/GlobalVars:
- Exclude:
- - 'lib/quad_tile/extconf.rb'
-
Style/GuardClause:
Enabled: false
+Style/HashEachMethods:
+ Enabled: true
+
Style/HashSyntax:
EnforcedStyle: hash_rockets
Exclude:
- 'lib/tasks/testing.rake'
- 'config/initializers/wrap_parameters.rb'
+Style/HashTransformKeys:
+ Enabled: true
+
+Style/HashTransformValues:
+ Enabled: true
+
Style/MixinUsage:
Exclude:
- 'bin/setup'