# This configuration was generated by
# `rubocop --auto-gen-config`
-# on 2018-09-19 14:24:02 +0100 using RuboCop version 0.58.2.
+# on 2024-08-27 18:01:13 UTC using RuboCop version 1.65.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
-# Offense count: 32
+# Work around erblint issues.
+# https://github.com/openstreetmap/openstreetmap-website/issues/2472
+require:
+ - rubocop-minitest
+ - rubocop-performance
+ - rubocop-rails
+ - rubocop-rake
+
+# Offense count: 13
+# Configuration parameters: Include, MaxAmount.
+# Include: **/*_spec.rb, **/spec/**/*, **/test/**/*, **/features/support/factories/**/*.rb
+FactoryBot/ExcessiveCreateList:
+ Exclude:
+ - 'test/controllers/api/changeset_comments_controller_test.rb'
+ - 'test/controllers/api/messages_controller_test.rb'
+ - 'test/controllers/changesets_controller_test.rb'
+ - 'test/controllers/diary_entries_controller_test.rb'
+ - 'test/controllers/notes_controller_test.rb'
+ - 'test/controllers/traces_controller_test.rb'
+ - 'test/controllers/user_blocks_controller_test.rb'
+ - 'test/system/users_test.rb'
+
+# Offense count: 635
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
+# URISchemes: http, https
+Layout/LineLength:
+ Max: 234
+
+# Offense count: 23
+# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
Exclude:
- - 'app/controllers/application_controller.rb'
+ - 'app/controllers/accounts_controller.rb'
+ - 'app/controllers/api/traces_controller.rb'
+ - 'app/controllers/api/user_preferences_controller.rb'
- 'app/controllers/geocoder_controller.rb'
- - 'app/controllers/notes_controller.rb'
- 'app/controllers/traces_controller.rb'
- 'app/controllers/users_controller.rb'
- - 'app/controllers/user_preferences_controller.rb'
- 'app/helpers/application_helper.rb'
- - 'app/helpers/browse_helper.rb'
+ - 'app/helpers/browse_tags_helper.rb'
+ - 'app/mailers/user_mailer.rb'
- 'app/models/client_application.rb'
- - 'app/mailers/notifier.rb'
- 'lib/nominatim.rb'
- 'lib/osm.rb'
- 'script/deliver-message'
-# Offense count: 4
-Lint/HandleExceptions:
- Exclude:
- - 'app/controllers/amf_controller.rb'
- - 'app/controllers/users_controller.rb'
-
-# Offense count: 692
+# Offense count: 762
+# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
- Max: 283
+ Max: 189
-# Offense count: 40
-# Configuration parameters: CountComments, ExcludedMethods.
-# ExcludedMethods: refine
+# Offense count: 37
+# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
+# AllowedMethods: refine
Metrics/BlockLength:
- Max: 262
+ Max: 71
-# Offense count: 11
-# Configuration parameters: CountBlocks.
+# Offense count: 8
+# Configuration parameters: CountBlocks, CountModifierForms.
Metrics/BlockNesting:
Max: 5
-# Offense count: 63
-# Configuration parameters: CountComments.
+# Offense count: 26
+# Configuration parameters: CountComments, CountAsOne.
Metrics/ClassLength:
- Max: 1627
+ Max: 309
-# Offense count: 72
+# Offense count: 58
+# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/CyclomaticComplexity:
- Max: 20
+ Max: 25
-# Offense count: 691
-# Configuration parameters: CountComments.
+# Offense count: 844
+# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
Metrics/MethodLength:
Max: 179
-# Offense count: 2
-# Configuration parameters: CountComments.
-Metrics/ModuleLength:
- Max: 135
-
-# Offense count: 4
-# Configuration parameters: CountKeywordArgs.
+# Offense count: 1
+# Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
Metrics/ParameterLists:
- Max: 9
+ Max: 6
-# Offense count: 72
+# Offense count: 58
+# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/PerceivedComplexity:
- Max: 23
+ Max: 26
-# Offense count: 6
-Naming/AccessorMethodName:
+# Offense count: 2784
+# This cop supports safe autocorrection (--autocorrect).
+Minitest/EmptyLineBeforeAssertionMethods:
+ Enabled: false
+
+# Offense count: 695
+Minitest/MultipleAssertions:
+ Max: 60
+
+# Offense count: 10
+# This cop supports unsafe autocorrection (--autocorrect-all).
+Rails/ActionControllerFlashBeforeRender:
Exclude:
- 'app/controllers/application_controller.rb'
- - 'app/helpers/title_helper.rb'
- - 'app/models/old_way.rb'
- - 'lib/osm.rb'
- - 'lib/potlatch.rb'
+ - 'app/controllers/confirmations_controller.rb'
+ - 'app/controllers/friendships_controller.rb'
+ - 'app/controllers/issue_comments_controller.rb'
+ - 'app/controllers/messages_controller.rb'
+ - 'app/controllers/passwords_controller.rb'
+ - 'app/controllers/traces_controller.rb'
+ - 'app/controllers/user_blocks_controller.rb'
+ - 'app/controllers/users_controller.rb'
-# Offense count: 8
-# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros.
-# NamePrefix: is_, has_, have_
-# NamePrefixBlacklist: is_, has_, have_
-# NameWhitelist: is_a?
-# MethodDefinitionMacros: define_method, define_singleton_method
-Naming/PredicateName:
+# Offense count: 2
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/HasAndBelongsToMany:
Exclude:
- - 'spec/**/*'
- 'app/models/changeset.rb'
- - 'app/models/old_node.rb'
- - 'app/models/old_relation.rb'
- - 'app/models/old_way.rb'
- 'app/models/user.rb'
- - 'lib/classic_pagination/pagination.rb'
-
-# Offense count: 6
-# Configuration parameters: Database, Include.
-# SupportedDatabases: mysql, postgresql
-# Include: db/migrate/*.rb
-Rails/BulkChangeTable:
- Exclude:
- - 'db/migrate/20111116184519_update_oauth.rb'
- - 'db/migrate/20120208122334_merge_acl_address_and_mask.rb'
- - 'db/migrate/20120208194454_add_domain_to_acl.rb'
- - 'db/migrate/20120404205604_add_user_and_description_to_redaction.rb'
-# Offense count: 2
+# Offense count: 3
# Configuration parameters: Include.
-# Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb
-Rails/Exit:
+# Include: app/helpers/**/*.rb
+Rails/HelperInstanceVariable:
Exclude:
- - 'lib/**/*.rake'
- - 'lib/daemons/gpx_import.rb'
+ - 'app/helpers/title_helper.rb'
-# Offense count: 2
-# Configuration parameters: Include.
+# Offense count: 17
+# Configuration parameters: IgnoreScopes, Include.
# Include: app/models/**/*.rb
-Rails/HasAndBelongsToMany:
+Rails/InverseOf:
Exclude:
- 'app/models/changeset.rb'
+ - 'app/models/diary_entry.rb'
+ - 'app/models/friendship.rb'
+ - 'app/models/issue.rb'
+ - 'app/models/message.rb'
+ - 'app/models/note.rb'
- 'app/models/user.rb'
-# Offense count: 5
+# Offense count: 1
# Configuration parameters: Include.
-# Include: db/migrate/*.rb
+# Include: app/controllers/**/*.rb, app/mailers/**/*.rb
+Rails/LexicallyScopedActionFilter:
+ Exclude:
+ - 'app/controllers/oauth2_applications_controller.rb'
+
+# Offense count: 5
+# Configuration parameters: Database, Include.
+# SupportedDatabases: mysql
+# Include: db/**/*.rb
Rails/NotNullColumn:
Exclude:
- 'db/migrate/002_cleanup_osm_db.rb'
- 'db/migrate/025_add_end_time_to_changesets.rb'
- 'db/migrate/20120404205604_add_user_and_description_to_redaction.rb'
-# Offense count: 20
+# Offense count: 7
Rails/OutputSafety:
Exclude:
- - 'app/controllers/users_controller.rb'
- 'app/helpers/application_helper.rb'
- - 'app/helpers/changeset_helper.rb'
- - 'app/helpers/geocoder_helper.rb'
- - 'app/helpers/note_helper.rb'
- - 'app/helpers/open_graph_helper.rb'
- - 'app/helpers/user_blocks_helper.rb'
- - 'app/helpers/user_roles_helper.rb'
- 'lib/rich_text.rb'
- 'test/helpers/application_helper_test.rb'
-# Offense count: 86
-# Configuration parameters: EnforcedStyle.
-# SupportedStyles: strict, flexible
-Rails/TimeZone:
- Enabled: false
-
-# Offense count: 1
-# Configuration parameters: AllowedChars.
-Style/AsciiComments:
+# Offense count: 16
+# Configuration parameters: Include.
+# Include: db/**/*.rb
+Rails/ThreeStateBooleanColumn:
Exclude:
- - 'test/models/message_test.rb'
+ - 'db/migrate/001_create_osm_db.rb'
+ - 'db/migrate/006_tile_nodes.rb'
+ - 'db/migrate/007_add_relations.rb'
+ - 'db/migrate/054_refactor_map_bug_tables.rb'
+ - 'db/migrate/20140507110937_create_changeset_comments.rb'
-# Offense count: 230
-Style/Documentation:
- Enabled: false
+# Offense count: 6
+# This cop supports safe autocorrection (--autocorrect).
+Rake/Desc:
+ Exclude:
+ - 'lib/tasks/auto_annotate_models.rake'
+ - 'lib/tasks/eslint.rake'
+ - 'lib/tasks/subscribe_diary_authors.rake'
+ - 'lib/tasks/subscribe_old_changesets.rake'
-# Offense count: 462
-# Cop supports --auto-correct.
+# Offense count: 712
+# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
-# SupportedStyles: when_needed, always, never
+# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:
Enabled: false
-# Offense count: 2
-# Cop supports --auto-correct.
-Style/IfUnlessModifier:
- Exclude:
- - 'app/controllers/way_controller.rb'
-
-# Offense count: 70
-# Cop supports --auto-correct.
-# Configuration parameters: Strict.
+# Offense count: 78
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: Strict, AllowedNumbers, AllowedPatterns.
Style/NumericLiterals:
- MinDigits: 11
-
-# Offense count: 3080
-# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
-# URISchemes: http, https
-Metrics/LineLength:
- Max: 1073
+ MinDigits: 15