X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/3426976606d30278fcf5ed279d3c95900785c4a5..0cd18eb02f853bfa93673f046b793bd53ac5aa68:/.rubocop.yml diff --git a/.rubocop.yml b/.rubocop.yml index 1ae01086a..68a7ca003 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,11 +1,17 @@ inherit_from: .rubocop_todo.yml require: + - rubocop-capybara + - rubocop-factory_bot + - rubocop-minitest - rubocop-performance - rubocop-rails + - rubocop-rake + - ./.rubocop/specific_action_names.rb AllCops: - TargetRubyVersion: 2.5 + TargetRubyVersion: 3.1 + NewCops: enable Exclude: - 'vendor/**/*' @@ -29,18 +35,27 @@ Metrics/ClassLength: Exclude: - 'test/**/*' +Metrics/ModuleLength: + Max: 150 + Naming/FileName: Exclude: - 'script/deliver-message' - - 'script/locale/reload-languages' - '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 @@ -50,22 +65,20 @@ Rails/HasManyOrHasOneDependent: Rails/HttpPositionalArguments: Enabled: false -Rails/InverseOf: +Rails/ReflectionClassName: Enabled: false Rails/SkipsModelValidations: Exclude: - 'db/migrate/*.rb' - - 'app/controllers/users_controller.rb' - -Style/BracesAroundHashParameters: - EnforcedStyle: context_dependent + - 'app/controllers/users/lists_controller.rb' Style/Documentation: Enabled: false Style/FormatStringToken: - EnforcedStyle: template + Exclude: + - 'config/routes.rb' Style/IfInsideElse: Enabled: false @@ -73,12 +86,21 @@ Style/IfInsideElse: 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' @@ -89,3 +111,41 @@ Style/StringLiterals: Style/SymbolArray: EnforcedStyle: brackets + +Rails/SpecificActionNames: + Description: Use only specific action names. + Enabled: true + ActionNames: + - index + - show + - new + - edit + - create + - update + - destroy + Include: + - app/controllers/**/*.rb + Exclude: + # This is a todo list, but is currently too long for `rubocop --auto-gen-config` + - 'app/controllers/api/changeset_comments_controller.rb' + - 'app/controllers/api/changesets_controller.rb' + - 'app/controllers/api/nodes_controller.rb' + - 'app/controllers/api/notes_controller.rb' + - 'app/controllers/api/old_elements_controller.rb' + - 'app/controllers/api/relations_controller.rb' + - 'app/controllers/api/user_preferences_controller.rb' + - 'app/controllers/api/users_controller.rb' + - 'app/controllers/api/ways_controller.rb' + - 'app/controllers/browse_controller.rb' + - 'app/controllers/changesets_controller.rb' + - 'app/controllers/confirmations_controller.rb' + - 'app/controllers/diary_comments_controller.rb' + - 'app/controllers/diary_entries_controller.rb' + - 'app/controllers/directions_controller.rb' + - 'app/controllers/errors_controller.rb' + - 'app/controllers/export_controller.rb' + - 'app/controllers/geocoder_controller.rb' + - 'app/controllers/issues_controller.rb' + - 'app/controllers/site_controller.rb' + - 'app/controllers/traces_controller.rb' + - 'app/controllers/users_controller.rb'