openstreetmap-website/.rubocop.yml
Tom Hughes 6789fc3081 Drop support for ruby 3.0
Also add Ubuntu 24.04 and drop 20.04 as 24.04 is needed for
ruby 3.1 without rvm so we should test it.
2024-09-17 20:39:22 +01:00

112 lines
1.8 KiB
YAML

inherit_from: .rubocop_todo.yml
require:
- rubocop-capybara
- rubocop-factory_bot
- rubocop-minitest
- rubocop-performance
- rubocop-rails
- rubocop-rake
AllCops:
TargetRubyVersion: 3.1
NewCops: enable
Exclude:
- 'vendor/**/*'
Rails:
Enabled: true
Layout/ExtraSpacing:
AllowForAlignment: true
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'
- 'script/update-spam-blocks'
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
Style/FormatStringToken:
Exclude:
- 'config/routes.rb'
Style/IfInsideElse:
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/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
Style/MixinUsage:
Exclude:
- 'bin/setup'
- 'bin/update'
Style/StringLiterals:
EnforcedStyle: double_quotes
Style/SymbolArray:
EnforcedStyle: brackets