X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e1f79d84adc413afa2a1a8d8d06fda9fa5151d49..1220a9930e7e3d9662a9a7ba49d320fdbe1a1021:/.rubocop.yml?ds=sidebyside diff --git a/.rubocop.yml b/.rubocop.yml index cc32da4b9..f8060f948 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1 +1,110 @@ inherit_from: .rubocop_todo.yml + +require: + - rubocop-capybara + - rubocop-factory_bot + - rubocop-minitest + - rubocop-performance + - rubocop-rails + - rubocop-rake + +AllCops: + TargetRubyVersion: 3.0 + NewCops: enable + Exclude: + - 'vendor/**/*' + +Rails: + Enabled: true + +# Config can be removed after https://github.com/rubocop/rubocop-factory_bot/issues/53 +FactoryBot/AssociationStyle: + Include: + - 'test/factories/**/*' + +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 + +Rails/CreateTableWithTimestamps: + Enabled: 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