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:
- RunRailsCops: true
+ TargetRubyVersion: 3.1
+ NewCops: enable
+ Exclude:
+ - 'vendor/**/*'
-Style/BracesAroundHashParameters:
- EnforcedStyle: context_dependent
+Rails:
+ Enabled: true
-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/GlobalVars:
+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/lists_controller.rb'
+
+Style/Documentation:
+ Enabled: false
+
+Style/FormatStringToken:
Exclude:
- - 'lib/quad_tile/extconf.rb'
-
+ - '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
+
+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'