X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/b954416a70fb167b9cae0a3937de16bd9a93d239..6bc81dc3e7f423a29003d12732599351a75d931a:/.rubocop.yml?ds=sidebyside diff --git a/.rubocop.yml b/.rubocop.yml index a31adf03b..f8060f948 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,69 +1,110 @@ inherit_from: .rubocop_todo.yml +require: + - rubocop-capybara + - rubocop-factory_bot + - rubocop-minitest + - rubocop-performance + - rubocop-rails + - rubocop-rake + AllCops: - Include: - - '**/*.gemspec' - - '**/*.podspec' - - '**/*.jbuilder' - - '**/*.rake' - - '**/*.opal' - - '**/config.ru' - - '**/Gemfile' - - '**/Rakefile' - - '**/Capfile' - - '**/Guardfile' - - '**/Podfile' - - '**/Thorfile' - - '**/Vagrantfile' - - '**/Berksfile' - - '**/Cheffile' - - '**/Vagabondfile' - - '**/Fastfile' - - '**/*.builder' + TargetRubyVersion: 3.0 + NewCops: enable + Exclude: + - 'vendor/**/*' Rails: Enabled: true -Style/BracesAroundHashParameters: - EnforcedStyle: context_dependent +# Config can be removed after https://github.com/rubocop/rubocop-factory_bot/issues/53 +FactoryBot/AssociationStyle: + Include: + - 'test/factories/**/*' -Style/ExtraSpacing: +Layout/ExtraSpacing: 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' - - 'script/locale/reload-languages' - 'script/update-spam-blocks' -Style/IfInsideElse: +Naming/MethodParameterName: + Enabled: false + +Rails/CreateTableWithTimestamps: + Enabled: false + +Rails/FindEach: + Enabled: false + +Rails/HasManyOrHasOneDependent: + Enabled: false + +Rails/HttpPositionalArguments: + Enabled: false + +Rails/ReflectionClassName: Enabled: false -Style/GlobalVars: +Rails/SkipsModelValidations: Exclude: - - 'lib/quad_tile/extconf.rb' + - '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/StringLiterals: - EnforcedStyle: double_quotes +Style/HashTransformKeys: + Enabled: true -Rails/HttpPositionalArguments: - Enabled: false +Style/HashTransformValues: + Enabled: true -Rails/SkipsModelValidations: +Style/MixinUsage: Exclude: - - 'db/migrate/*.rb' - - 'app/controllers/user_controller.rb' + - 'bin/setup' + - 'bin/update' -Lint/PercentStringArray: - Exclude: - - 'config/initializers/secure_headers.rb' - - 'app/controllers/site_controller.rb' +Style/StringLiterals: + EnforcedStyle: double_quotes + +Style/SymbolArray: + EnforcedStyle: brackets