From e55967225e74b79449a791dede6a27463060e03b Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Thu, 16 Feb 2023 01:33:50 -0500 Subject: [PATCH] Generate minimimal Rubocop Todo file (#23629) --- .github/workflows/lint-ruby.yml | 35 +- .rubocop.yml | 418 +--- .rubocop_todo.yml | 4055 +++++++++++++++++++++++++++++++ 3 files changed, 4100 insertions(+), 408 deletions(-) create mode 100644 .rubocop_todo.yml diff --git a/.github/workflows/lint-ruby.yml b/.github/workflows/lint-ruby.yml index b834e3053f..54f45796c1 100644 --- a/.github/workflows/lint-ruby.yml +++ b/.github/workflows/lint-ruby.yml @@ -5,7 +5,8 @@ on: - 'dependabot/**' paths: - 'Gemfile*' - - '.rubocop.yml' + - '.rubocop*.yml' + - '.ruby-version' - '**/*.rb' - '**/*.rake' - '.github/workflows/lint-ruby.yml' @@ -13,7 +14,8 @@ on: pull_request: paths: - 'Gemfile*' - - '.rubocop.yml' + - '.rubocop*.yml' + - '.ruby-version' - '**/*.rb' - '**/*.rake' - '.github/workflows/lint-ruby.yml' @@ -21,21 +23,22 @@ on: jobs: lint: runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set-up RuboCop Problem Mathcher + steps: + - name: Clone repository + uses: actions/checkout@v3 + + - name: Install native Ruby dependencies + run: sudo apt-get install -y libicu-dev libidn11-dev + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: .ruby-version + bundler-cache: true + + - name: Set-up RuboCop Problem Matcher uses: r7kamura/rubocop-problem-matchers-action@v1 - name: Run rubocop - uses: github/super-linter@v4 - env: - DEFAULT_BRANCH: main - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - LINTER_RULES_PATH: . - RUBY_CONFIG_FILE: .rubocop.yml - VALIDATE_ALL_CODEBASE: false - VALIDATE_RUBY: true + run: bundle exec rubocop diff --git a/.rubocop.yml b/.rubocop.yml index 3c92234705..5278ee38ca 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,3 +1,9 @@ +inherit_from: .rubocop_todo.yml + +inherit_mode: + merge: + - Exclude + require: - rubocop-rails - rubocop-rspec @@ -23,50 +29,19 @@ AllCops: - 'lib/json_ld/*' - 'lib/templates/**/*' -Bundler/OrderedGems: - Enabled: false - -Layout/AccessModifierIndentation: - EnforcedStyle: indent - -Layout/EmptyLineAfterMagicComment: - Enabled: false - -Layout/EmptyLineAfterGuardClause: - Enabled: false - -Layout/EmptyLineBetweenDefs: - AllowAdjacentOneLineDefs: true - -Layout/EmptyLinesAroundAttributeAccessor: - Enabled: true - Layout/FirstHashElementIndentation: EnforcedStyle: consistent -Layout/HashAlignment: - Enabled: false - -Layout/SpaceAroundMethodCallOperator: - Enabled: true - -Layout/SpaceInsideHashLiteralBraces: - EnforcedStyle: space - -Lint/DeprecatedOpenSSLConstant: - Enabled: true - -Lint/DuplicateElsifCondition: - Enabled: true - -Lint/MixedRegexpCaptureTypes: - Enabled: true - -Lint/RaiseException: - Enabled: true - -Lint/StructNewOverride: - Enabled: true +Layout/LineLength: + Max: 140 # RuboCop default 120 + AllowedPatterns: + # Allow comments to be long lines + - !ruby/regexp / \# .*$/ + - !ruby/regexp /^\# .*$/ + Exclude: + - lib/**/*cli*.rb + - db/*migrate/**/* + - db/seeds/**/* Lint/UselessAccessModifier: ContextCreatingMethods: @@ -77,403 +52,62 @@ Metrics/AbcSize: Exclude: - 'lib/**/*cli*.rb' - db/*migrate/**/* - - lib/paperclip/color_extractor.rb - - app/workers/scheduler/follow_recommendations_scheduler.rb - - app/services/activitypub/fetch*_service.rb - - lib/paperclip/**/* - CountRepeatedAttributes: false - AllowedMethods: - - update_media_attachments! - - account_link_to - - attempt_oembed - - build_crutches - - calculate_scores - - cc - - dump_actor! - - filter_from_home? - - hydrate - - import_bookmarks! - - import_relationships! - - initialize - - link_to_mention - - log_target - - matches_time_window? - - parse_metadata - - perform_statuses_search! - - privatize_media_attachments! - - process_update - - publish_media_attachments! - - remotable_attachment - - render_initial_state - - render_with_cache - - searchable_by - - self.cached_filters_for - - set_fetchable_attributes! - - signed_request_actor - - statuses_to_delete - - update_poll! Metrics/BlockLength: - Max: 55 + Max: 55 # Default 25 + CountAsOne: [array, heredoc] Exclude: - 'lib/mastodon/*_cli.rb' - CountComments: false - CountAsOne: [array, heredoc] - AllowedMethods: - - task - - namespace - - class_methods - - included Metrics/BlockNesting: - Max: 3 Exclude: - 'lib/mastodon/*_cli.rb' Metrics/ClassLength: - CountComments: false - Max: 500 + Max: 500 # Default 100 CountAsOne: [array, heredoc] Exclude: - 'lib/mastodon/*_cli.rb' Metrics/CyclomaticComplexity: - Max: 12 + Max: 12 # Default 7 Exclude: - lib/mastodon/*cli*.rb - db/*migrate/**/* - AllowedMethods: - - attempt_oembed - - blocked? - - build_crutches - - calculate_scores - - cc - - discover_endpoint! - - filter_from_home? - - hydrate - - klass - - link_to_mention - - log_target - - matches_time_window? - - patch_for_forwarding! - - preprocess_attributes! - - process_update - - remotable_attachment - - scan_text! - - self.cached_filters_for - - set_fetchable_attributes! - - setup_redis_env_url - - update_media_attachments! - -Layout/LineLength: - Max: 140 # RuboCop default 120 - AllowHeredoc: true - AllowURI: true - IgnoreCopDirectives: true - AllowedPatterns: - # Allow comments to be long lines - - !ruby/regexp / \# .*$/ - - !ruby/regexp /^\# .*$/ - Exclude: - - lib/**/*cli*.rb - - db/*migrate/**/* - - db/seeds/**/* Metrics/MethodLength: - CountComments: false - CountAsOne: [array, heredoc] Max: 25 # RuboCop default 10 + CountAsOne: [array, heredoc] Exclude: - 'lib/mastodon/*_cli.rb' - AllowedMethods: - - account_link_to - - attempt_oembed - - body_with_limit - - build_crutches - - cached_filters_for - - calculate_scores - - check_webfinger! - - clean_feeds! - - collection_items - - collection_presenter - - copy_account_notes! - - deduplicate_accounts! - - deduplicate_conversations! - - deduplicate_local_accounts! - - deduplicate_statuses! - - deduplicate_tags! - - deduplicate_users! - - discover_endpoint! - - extract_extra_uris_with_indices - - extract_hashtags_with_indices - - extract_mentions_or_lists_with_indices - - filter_from_home? - - from_elasticsearch - - handle_explicit_update! - - handle_mark_as_sensitive! - - hsl_to_rgb - - import_bookmarks! - - import_domain_blocks! - - import_relationships! - - ldap_options - - matches_time_window? - - outbox_presenter - - pam_get_user - - parallelize_with_progress - - parse_and_transform - - patch_for_forwarding! - - populate_home - - post_process_style - - preload_cache_collection_target_statuses - - privatize_media_attachments! - - provides_callback_for - - publish_media_attachments! - - relevant_account_timestamp - - remotable_attachment - - rgb_to_hsl - - rss_status_content_format - - set_fetchable_attributes! - - setup_redis_env_url - - signed_request_actor - - to_preview_card_attributes - - upgrade_storage_filesystem - - upgrade_storage_s3 - - user_settings_params - - hydrate - - cc - - self_destruct Metrics/ModuleLength: - CountComments: false - Max: 200 + Max: 200 # Default 100 CountAsOne: [array, heredoc] -Metrics/ParameterLists: - Max: 5 # RuboCop default 5 - CountKeywordArgs: true # RuboCop default true - MaxOptionalParameters: 3 # RuboCop default 3 - Exclude: - - app/models/concerns/account_interactions.rb - - app/services/activitypub/fetch_remote_account_service.rb - - app/services/activitypub/fetch_remote_actor_service.rb - Metrics/PerceivedComplexity: Max: 16 # RuboCop default 8 - AllowedMethods: - - attempt_oembed - - build_crutches - - calculate_scores - - deduplicate_users! - - discover_endpoint! - - filter_from_home? - - hydrate - - patch_for_forwarding! - - process_update - - remove_orphans - - update_media_attachments! - -Naming/MemoizedInstanceVariableName: - Enabled: false - -Naming/MethodParameterName: - Enabled: true - -Rails: - Enabled: true - -Rails/ApplicationController: - Enabled: false - Exclude: - - 'app/controllers/well_known/**/*.rb' - -Rails/BelongsTo: - Enabled: false - -Rails/ContentTag: - Enabled: false - -Rails/EnumHash: - Enabled: false Rails/Exit: Exclude: - - 'lib/mastodon/*' + - 'lib/mastodon/*_cli.rb' + - 'lib/mastodon/cli_helper.rb' - 'lib/cli.rb' -Rails/FilePath: - Enabled: false - -Rails/HasAndBelongsToMany: - Enabled: false - -Rails/HasManyOrHasOneDependent: - Enabled: false - -Rails/HelperInstanceVariable: - Enabled: false - -Rails/HttpStatus: - Enabled: false - -Rails/IndexBy: - Enabled: false - -Rails/InverseOf: - Enabled: false - -Rails/LexicallyScopedActionFilter: - Enabled: false - -Rails/OutputSafety: - Enabled: true - -Rails/RakeEnvironment: - Enabled: false - -Rails/RedundantForeignKey: - Enabled: false - -Rails/SkipsModelValidations: - Enabled: false - -Rails/UniqueValidationWithoutIndex: - Enabled: false - -Style/AccessorGrouping: - Enabled: true - -Style/AccessModifierDeclarations: - Enabled: false - -Style/ArrayCoercion: - Enabled: true - -Style/BisectedAttrAccessor: - Enabled: true - -Style/CaseLikeIf: - Enabled: false - -Style/ClassAndModuleChildren: - Enabled: false - -Style/CollectionMethods: - Enabled: true - PreferredMethods: - find_all: 'select' - -Style/Documentation: - Enabled: false - -Style/DoubleNegation: - Enabled: true - -Style/ExpandPathArguments: - Enabled: false - -Style/ExponentialNotation: - Enabled: true - -Style/FormatString: - Enabled: false - -Style/FormatStringToken: - Enabled: false - -Style/FrozenStringLiteralComment: - Enabled: true - -Style/GuardClause: - Enabled: false - -Style/HashAsLastArrayItem: - Enabled: false - -Style/HashEachMethods: - Enabled: true - -Style/HashLikeCase: - Enabled: true - -Style/HashTransformKeys: - Enabled: true - -Style/HashTransformValues: +Style/Copyright: Enabled: false + AutocorrectNotice: Style/HashSyntax: - Enabled: true EnforcedStyle: ruby19_no_mixed_keys -Style/IfUnlessModifier: - Enabled: false - -Style/InverseMethods: - Enabled: false - -Style/Lambda: - Enabled: false - -Style/MutableConstant: - Enabled: false - Style/PercentLiteralDelimiters: PreferredDelimiters: '%i': '()' '%w': '()' -Style/PerlBackrefs: - AutoCorrect: false - -Style/RedundantFetchBlock: - Enabled: true - -Style/RedundantFileExtensionInRequire: - Enabled: true - -Style/RedundantRegexpCharacterClass: - Enabled: false - -Style/RedundantRegexpEscape: - Enabled: false - -Style/RedundantReturn: - Enabled: true - -Style/RedundantBegin: - Enabled: false - -Style/RegexpLiteral: - Enabled: false - -Style/RescueStandardError: - Enabled: true - -Style/SignalException: - Enabled: false - -Style/SlicingWithRange: - Enabled: true - -Style/SymbolArray: - Enabled: false - Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: 'comma' Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: 'comma' - -Style/UnpackFirst: - Enabled: false - -RSpec/ScatteredSetup: - Enabled: false -RSpec/ImplicitExpect: - Enabled: false -RSpec/NamedSubject: - Enabled: false -RSpec/DescribeClass: - Enabled: false -RSpec/LetSetup: - Enabled: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 0000000000..d1d5e06122 --- /dev/null +++ b/.rubocop_todo.yml @@ -0,0 +1,4055 @@ +# This configuration was generated by +# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit` +# on 2023-02-16 04:55:24 UTC using RuboCop version 1.45.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: 15 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include. +# Include: **/*.gemfile, **/Gemfile, **/gems.rb +Bundler/OrderedGems: + Exclude: + - 'Gemfile' + +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: with_first_argument, with_fixed_indentation +Layout/ArgumentAlignment: + Exclude: + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleAlignWith. +# SupportedStylesAlignWith: either, start_of_block, start_of_line +Layout/BlockAlignment: + Exclude: + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Layout/ClosingParenthesisIndentation: + Exclude: + - 'spec/controllers/auth/sessions_controller_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment. +Layout/CommentIndentation: + Exclude: + - 'db/migrate/20180514130000_improve_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + +# Offense count: 22 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: leading, trailing +Layout/DotPosition: + Exclude: + - 'lib/paperclip/attachment_extensions.rb' + - 'spec/routing/api_routing_spec.rb' + - 'spec/routing/well_known_routes_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Layout/ElseAlignment: + Exclude: + - 'db/migrate/20161006213403_rails_settings_migration.rb' + +# Offense count: 81 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLineAfterGuardClause: + Exclude: + - 'app/controllers/api/v1/tags_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/controllers/concerns/session_tracking_concern.rb' + - 'app/controllers/concerns/signature_verification.rb' + - 'app/helpers/application_helper.rb' + - 'app/lib/activitypub/activity.rb' + - 'app/lib/activitypub/tag_manager.rb' + - 'app/lib/request.rb' + - 'app/lib/settings/scoped_settings.rb' + - 'app/lib/status_filter.rb' + - 'app/lib/tag_manager.rb' + - 'app/lib/webfinger.rb' + - 'app/models/account.rb' + - 'app/models/account_conversation.rb' + - 'app/models/admin/import.rb' + - 'app/models/custom_filter.rb' + - 'app/models/favourite.rb' + - 'app/models/form/admin_settings.rb' + - 'app/models/poll.rb' + - 'app/models/session_activation.rb' + - 'app/models/setting.rb' + - 'app/models/status_edit.rb' + - 'app/models/user.rb' + - 'app/models/user_role.rb' + - 'app/services/activitypub/fetch_remote_actor_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/activitypub/fetch_replies_service.rb' + - 'app/services/activitypub/process_account_service.rb' + - 'app/services/favourite_service.rb' + - 'app/services/notify_service.rb' + - 'app/services/post_status_service.rb' + - 'app/services/vote_service.rb' + - 'app/validators/follow_limit_validator.rb' + - 'app/validators/unreserved_username_validator.rb' + - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb' + - 'db/migrate/20190314181829_migrate_open_registrations_setting.rb' + - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb' + - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb' + - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb' + - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' + - 'lib/mastodon/domains_cli.rb' + +# Offense count: 71 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLineAfterMagicComment: + Exclude: + - 'Capfile' + - 'app/helpers/languages_helper.rb' + - 'app/models/account.rb' + - 'app/models/account_conversation.rb' + - 'app/models/account_domain_block.rb' + - 'app/models/account_moderation_note.rb' + - 'app/models/account_note.rb' + - 'app/models/account_pin.rb' + - 'app/models/account_stat.rb' + - 'app/models/account_summary.rb' + - 'app/models/account_warning.rb' + - 'app/models/backup.rb' + - 'app/models/block.rb' + - 'app/models/bookmark.rb' + - 'app/models/canonical_email_block.rb' + - 'app/models/conversation.rb' + - 'app/models/conversation_mute.rb' + - 'app/models/custom_emoji.rb' + - 'app/models/custom_filter.rb' + - 'app/models/custom_filter_keyword.rb' + - 'app/models/custom_filter_status.rb' + - 'app/models/device.rb' + - 'app/models/domain_block.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/encrypted_message.rb' + - 'app/models/favourite.rb' + - 'app/models/featured_tag.rb' + - 'app/models/follow.rb' + - 'app/models/follow_recommendation.rb' + - 'app/models/follow_recommendation_suppression.rb' + - 'app/models/follow_request.rb' + - 'app/models/identity.rb' + - 'app/models/import.rb' + - 'app/models/instance.rb' + - 'app/models/invite.rb' + - 'app/models/ip_block.rb' + - 'app/models/list.rb' + - 'app/models/list_account.rb' + - 'app/models/login_activity.rb' + - 'app/models/media_attachment.rb' + - 'app/models/mention.rb' + - 'app/models/mute.rb' + - 'app/models/notification.rb' + - 'app/models/one_time_key.rb' + - 'app/models/poll.rb' + - 'app/models/poll_vote.rb' + - 'app/models/preview_card.rb' + - 'app/models/preview_card_provider.rb' + - 'app/models/relay.rb' + - 'app/models/report.rb' + - 'app/models/report_note.rb' + - 'app/models/session_activation.rb' + - 'app/models/setting.rb' + - 'app/models/site_upload.rb' + - 'app/models/status.rb' + - 'app/models/status_edit.rb' + - 'app/models/status_pin.rb' + - 'app/models/status_stat.rb' + - 'app/models/tag.rb' + - 'app/models/unavailable_domain.rb' + - 'app/models/user.rb' + - 'app/models/user_ip.rb' + - 'app/models/web/push_subscription.rb' + - 'app/models/web/setting.rb' + - 'app/models/webauthn_credential.rb' + - 'config.ru' + - 'db/migrate/20220613110834_add_action_to_custom_filters.rb' + - 'db/post_migrate/20220613110802_remove_whole_word_from_custom_filters.rb' + - 'db/post_migrate/20220613110903_remove_irreversible_from_custom_filters.rb' + - 'spec/controllers/api/v1/accounts/statuses_controller_spec.rb' + - 'spec/models/tag_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLines: + Exclude: + - 'spec/controllers/authorize_interactions_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + +# Offense count: 9 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, no_empty_lines +Layout/EmptyLinesAroundBlockBody: + Exclude: + - 'spec/fabricators/system_key_fabricator.rb' + - 'spec/models/account_alias_spec.rb' + - 'spec/models/device_spec.rb' + - 'spec/models/encrypted_message_spec.rb' + - 'spec/models/login_activity_spec.rb' + - 'spec/models/one_time_key_spec.rb' + - 'spec/models/system_key_spec.rb' + - 'spec/services/bootstrap_timeline_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleAlignWith, Severity. +# SupportedStylesAlignWith: keyword, variable, start_of_line +Layout/EndAlignment: + Exclude: + - 'db/migrate/20161006213403_rails_settings_migration.rb' + +# Offense count: 19 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. +Layout/ExtraSpacing: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/fabricators/custom_filter_keyword_fabricator.rb' + - 'spec/fabricators/poll_vote_fabricator.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/resolve_url_service_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + - 'spec/validators/unreserved_username_validator_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses +Layout/FirstArgumentIndentation: + Exclude: + - 'spec/services/remove_status_service_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_brackets +Layout/FirstArrayElementIndentation: + Exclude: + - 'spec/controllers/admin/dashboard_controller_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + +# Offense count: 113 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. +# SupportedHashRocketStyles: key, separator, table +# SupportedColonStyles: key, separator, table +# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit +Layout/HashAlignment: + Exclude: + - 'app/lib/activitypub/linked_data_signature.rb' + - 'app/lib/ostatus/tag_manager.rb' + - 'app/models/account/field.rb' + - 'app/models/account_warning.rb' + - 'app/models/media_attachment.rb' + - 'app/models/notification.rb' + - 'app/models/poll.rb' + - 'app/presenters/account_relationships_presenter.rb' + - 'app/services/keys/claim_service.rb' + - 'app/services/keys/query_service.rb' + - 'app/workers/web/push_notification_worker.rb' + - 'db/post_migrate/20200917193528_migrate_notifications_type.rb' + - 'lib/sanitize_ext/sanitize_config.rb' + - 'lib/tasks/auto_annotate_models.rake' + - 'lib/tasks/mastodon.rake' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Layout/HeredocIndentation: + Exclude: + - 'spec/controllers/well_known/host_meta_controller_spec.rb' + - 'spec/lib/link_details_extractor_spec.rb' + +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: normal, indented_internal_methods +Layout/IndentationConsistency: + Exclude: + - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb' + - 'spec/models/trends/statuses_spec.rb' + - 'spec/services/import_service_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Width, AllowedPatterns. +Layout/IndentationWidth: + Exclude: + - 'db/migrate/20161006213403_rails_settings_migration.rb' + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/import_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment. +Layout/LeadingCommentSpace: + Exclude: + - 'lib/paperclip/attachment_extensions.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect, EnforcedStyle. +# SupportedStyles: space, no_space +Layout/LineContinuationSpacing: + Exclude: + - 'spec/support/stories/profile_stories.rb' + +# Offense count: 577 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. +# URISchemes: http, https +Layout/LineLength: + Enabled: false + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: symmetrical, new_line, same_line +Layout/MultilineMethodCallBraceLayout: + Exclude: + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator. +# SupportedStylesForExponentOperator: space, no_space +Layout/SpaceAroundOperators: + Exclude: + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceBeforeBlockBraces: + Exclude: + - 'spec/controllers/api/v1/reports_controller_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment. +Layout/SpaceBeforeFirstArg: + Exclude: + - 'spec/fabricators/custom_filter_keyword_fabricator.rb' + - 'spec/fabricators/poll_vote_fabricator.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + +# Offense count: 24 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideArrayLiteralBrackets: + Exclude: + - 'db/migrate/20161006213403_rails_settings_migration.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/lib/extractor_spec.rb' + - 'spec/models/export_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideBlockBraces: + Exclude: + - 'spec/lib/fast_ip_map_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/serializers/rest/account_serializer_spec.rb' + - 'spec/workers/activitypub/distribution_worker_spec.rb' + +# Offense count: 6 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideHashLiteralBraces: + Exclude: + - 'app/lib/activitypub/activity/create.rb' + - 'app/services/activitypub/fetch_replies_service.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/update_status_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, compact, no_space +Layout/SpaceInsideParens: + Exclude: + - 'spec/validators/unreserved_username_validator_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, no_space +Layout/SpaceInsideStringInterpolation: + Exclude: + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: final_newline, final_blank_line +Layout/TrailingEmptyLines: + Exclude: + - 'db/migrate/20190306145741_add_lock_version_to_polls.rb' + - 'db/migrate/20190807135426_add_comments_to_domain_blocks.rb' + - 'db/migrate/20200312162302_add_status_ids_to_announcements.rb' + - 'db/migrate/20200510181721_remove_duplicated_indexes_pghero.rb' + - 'db/migrate/20200628133322_create_account_notes.rb' + - 'db/migrate/20210722120340_create_account_statuses_cleanup_policies.rb' + - 'spec/fabricators/ip_block_fabricator.rb' + - 'spec/fabricators/status_edit_fabricator.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowInHeredoc. +Layout/TrailingWhitespace: + Exclude: + - 'app/models/concerns/expireable.rb' + - 'db/post_migrate/20220729171123_fix_custom_filter_keywords_id_seq.rb' + - 'lib/tasks/mastodon.rake' + - 'spec/models/account/field_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + +# Offense count: 14 +# Configuration parameters: AllowedMethods, AllowedPatterns. +Lint/AmbiguousBlockAssociation: + Exclude: + - 'spec/controllers/admin/account_moderation_notes_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/otp_authentication_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +Lint/AmbiguousOperator: + Exclude: + - 'spec/controllers/api/v1/suggestions_controller_spec.rb' + - 'spec/lib/request_spec.rb' + - 'spec/models/user_role_spec.rb' + +# Offense count: 17 +# This cop supports safe autocorrection (--autocorrect). +Lint/AmbiguousOperatorPrecedence: + Exclude: + - 'app/controllers/concerns/rate_limit_headers.rb' + - 'app/lib/rate_limiter.rb' + - 'app/models/system_key.rb' + - 'app/models/webauthn_credential.rb' + - 'app/workers/concerns/exponential_backoff.rb' + - 'lib/paperclip/color_extractor.rb' + +# Offense count: 15 +# Configuration parameters: AllowedMethods. +# AllowedMethods: enums +Lint/ConstantDefinitionInBlock: + Exclude: + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/concerns/accountable_concern_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/connection_pool/shared_connection_pool_spec.rb' + - 'spec/lib/connection_pool/shared_timed_stack_spec.rb' + - 'spec/lib/settings/extend_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + +# Offense count: 5 +# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. +Lint/DuplicateBranch: + Exclude: + - 'app/lib/permalink_redirector.rb' + - 'app/models/account_statuses_filter.rb' + - 'app/validators/email_mx_validator.rb' + - 'app/validators/vote_validator.rb' + - 'lib/mastodon/maintenance_cli.rb' + +# Offense count: 42 +# Configuration parameters: AllowComments, AllowEmptyLambdas. +Lint/EmptyBlock: + Exclude: + - 'spec/controllers/api/v2/search_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/fabricators/access_token_fabricator.rb' + - 'spec/fabricators/conversation_fabricator.rb' + - 'spec/fabricators/conversation_mute_fabricator.rb' + - 'spec/fabricators/import_fabricator.rb' + - 'spec/fabricators/setting_fabricator.rb' + - 'spec/fabricators/system_key_fabricator.rb' + - 'spec/fabricators/web_setting_fabricator.rb' + - 'spec/helpers/admin/action_log_helper_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/models/account_alias_spec.rb' + - 'spec/models/account_deletion_request_spec.rb' + - 'spec/models/account_moderation_note_spec.rb' + - 'spec/models/announcement_mute_spec.rb' + - 'spec/models/announcement_reaction_spec.rb' + - 'spec/models/announcement_spec.rb' + - 'spec/models/backup_spec.rb' + - 'spec/models/conversation_mute_spec.rb' + - 'spec/models/custom_filter_keyword_spec.rb' + - 'spec/models/custom_filter_spec.rb' + - 'spec/models/device_spec.rb' + - 'spec/models/encrypted_message_spec.rb' + - 'spec/models/featured_tag_spec.rb' + - 'spec/models/follow_recommendation_suppression_spec.rb' + - 'spec/models/list_account_spec.rb' + - 'spec/models/list_spec.rb' + - 'spec/models/login_activity_spec.rb' + - 'spec/models/mute_spec.rb' + - 'spec/models/one_time_key_spec.rb' + - 'spec/models/preview_card_spec.rb' + - 'spec/models/preview_card_trend_spec.rb' + - 'spec/models/relay_spec.rb' + - 'spec/models/scheduled_status_spec.rb' + - 'spec/models/status_stat_spec.rb' + - 'spec/models/status_trend_spec.rb' + - 'spec/models/system_key_spec.rb' + - 'spec/models/tag_follow_spec.rb' + - 'spec/models/unavailable_domain_spec.rb' + - 'spec/models/user_invite_request_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/web/setting_spec.rb' + +# Offense count: 1 +# Configuration parameters: AllowComments. +Lint/EmptyClass: + Exclude: + - 'spec/controllers/api/base_controller_spec.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Lint/NonDeterministicRequireOrder: + Exclude: + - 'spec/rails_helper.rb' + +# Offense count: 1 +Lint/NonLocalExitFromIterator: + Exclude: + - 'app/helpers/jsonld_helper.rb' + +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +Lint/OrAssignmentToConstant: + Exclude: + - 'lib/sanitize_ext/sanitize_config.rb' + +# Offense count: 6 +# This cop supports safe autocorrection (--autocorrect). +Lint/ParenthesesAsGroupedExpression: + Exclude: + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/models/import_spec.rb' + +# Offense count: 35 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: strict, consistent +Lint/SymbolConversion: + Exclude: + - 'app/lib/translation_service/deepl.rb' + - 'app/services/backup_service.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments. +Lint/UnusedBlockArgument: + Exclude: + - 'spec/lib/activitypub/activity/add_spec.rb' + - 'spec/lib/request_pool_spec.rb' + +# Offense count: 33 +Lint/UselessAssignment: + Exclude: + - 'app/services/activitypub/process_status_update_service.rb' + - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb' + - 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb' + - 'spec/controllers/api/v1/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/favourites_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/webauthn_credentials_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/services/resolve_url_service_spec.rb' + - 'spec/views/statuses/show.html.haml_spec.rb' + +# Offense count: 3 +# Configuration parameters: CheckForMethodsWithNoSideEffects. +Lint/Void: + Exclude: + - 'spec/services/resolve_account_service_spec.rb' + +# Offense count: 65 +# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. +Metrics/AbcSize: + Enabled: false + +# Offense count: 11 +# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode. +# AllowedMethods: refine +Metrics/BlockLength: + Exclude: + - 'app/models/concerns/account_interactions.rb' + - 'app/models/concerns/omniauthable.rb' + - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb' + - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' + - 'lib/tasks/branding.rake' + - 'lib/tasks/mastodon.rake' + - 'lib/tasks/repo.rake' + - 'lib/tasks/tests.rake' + +# Offense count: 1 +# Configuration parameters: CountBlocks, Max. +Metrics/BlockNesting: + Exclude: + - 'lib/tasks/mastodon.rake' + +# Offense count: 39 +# Configuration parameters: AllowedMethods, AllowedPatterns. +Metrics/CyclomaticComplexity: + Enabled: false + +# Offense count: 40 +# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns. +Metrics/MethodLength: + Enabled: false + +# Offense count: 1 +# Configuration parameters: CountComments, Max, CountAsOne. +Metrics/ModuleLength: + Exclude: + - 'app/models/concerns/account_interactions.rb' + +# Offense count: 5 +# Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters. +Metrics/ParameterLists: + Exclude: + - 'app/models/concerns/account_interactions.rb' + - 'app/services/activitypub/fetch_remote_account_service.rb' + - 'app/services/activitypub/fetch_remote_actor_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + +# Offense count: 16 +# Configuration parameters: AllowedMethods, AllowedPatterns, Max. +Metrics/PerceivedComplexity: + Exclude: + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/feed_manager.rb' + - 'app/lib/status_cache_hydrator.rb' + - 'app/lib/user_settings_decorator.rb' + - 'app/models/trends/links.rb' + - 'app/services/activitypub/fetch_remote_key_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/activitypub/process_account_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/fetch_oembed_service.rb' + - 'app/services/process_mentions_service.rb' + - 'app/services/resolve_account_service.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/domains_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + +# Offense count: 1 +Naming/AccessorMethodName: + Exclude: + - 'app/controllers/auth/sessions_controller.rb' + +# Offense count: 7 +# Configuration parameters: EnforcedStyleForLeadingUnderscores. +# SupportedStylesForLeadingUnderscores: disallowed, required, optional +Naming/MemoizedInstanceVariableName: + Exclude: + - 'app/controllers/api/v1/bookmarks_controller.rb' + - 'app/controllers/api/v1/favourites_controller.rb' + - 'app/controllers/concerns/rate_limit_headers.rb' + - 'app/lib/activitypub/activity.rb' + - 'app/services/resolve_url_service.rb' + - 'app/services/search_service.rb' + +# Offense count: 50 +# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns. +# SupportedStyles: snake_case, normalcase, non_integer +# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339 +Naming/VariableNumber: + Exclude: + - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'db/migrate/20190820003045_update_statuses_index.rb' + - 'db/migrate/20190823221802_add_local_index_to_statuses.rb' + - 'db/migrate/20200119112504_add_public_index_to_statuses.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + +# Offense count: 12 +# Configuration parameters: MinSize. +Performance/CollectionLiteralInLoop: + Exclude: + - 'app/models/admin/appeal_filter.rb' + - 'app/models/admin/status_filter.rb' + - 'app/models/relationship_filter.rb' + - 'app/models/trends/preview_card_filter.rb' + - 'app/models/trends/status_filter.rb' + - 'app/presenters/status_relationships_presenter.rb' + - 'app/services/fetch_resource_service.rb' + - 'app/services/suspend_account_service.rb' + - 'app/services/unsuspend_account_service.rb' + - 'lib/mastodon/media_cli.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +Performance/Count: + Exclude: + - 'app/lib/importer/accounts_index_importer.rb' + - 'app/lib/importer/tags_index_importer.rb' + +# Offense count: 10 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: SafeMultiline. +Performance/DeletePrefix: + Exclude: + - 'app/controllers/authorize_interactions_controller.rb' + - 'app/controllers/concerns/signature_verification.rb' + - 'app/controllers/intents_controller.rb' + - 'app/lib/activitypub/case_transform.rb' + - 'app/lib/permalink_redirector.rb' + - 'app/lib/webfinger_resource.rb' + - 'app/services/activitypub/fetch_remote_actor_service.rb' + - 'app/services/backup_service.rb' + - 'app/services/resolve_account_service.rb' + - 'app/services/tag_search_service.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: SafeMultiline. +Performance/DeleteSuffix: + Exclude: + - 'lib/tasks/repo.rake' + +# Offense count: 19 +# This cop supports unsafe autocorrection (--autocorrect-all). +Performance/MapCompact: + Exclude: + - 'app/lib/admin/metrics/dimension.rb' + - 'app/lib/admin/metrics/measure.rb' + - 'app/lib/feed_manager.rb' + - 'app/models/account.rb' + - 'app/models/account_statuses_cleanup_policy.rb' + - 'app/models/account_suggestions/setting_source.rb' + - 'app/models/account_suggestions/source.rb' + - 'app/models/follow_recommendation_filter.rb' + - 'app/models/notification.rb' + - 'app/models/user_role.rb' + - 'app/models/webhook.rb' + - 'app/services/process_mentions_service.rb' + - 'app/validators/existing_username_validator.rb' + - 'db/migrate/20200407202420_migrate_unavailable_inboxes.rb' + - 'spec/presenters/status_relationships_presenter_spec.rb' + +# Offense count: 7 +Performance/MethodObjectAsBlock: + Exclude: + - 'app/models/account_suggestions/source.rb' + - 'spec/models/export_spec.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Performance/RedundantEqualityComparisonBlock: + Exclude: + - 'spec/requests/link_headers_spec.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: SafeMultiline. +Performance/StartWith: + Exclude: + - 'app/lib/extractor.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: OnlySumOrWithInitialValue. +Performance/Sum: + Exclude: + - 'app/lib/activity_tracker.rb' + - 'app/models/trends/history.rb' + - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb' + - 'lib/paperclip/color_extractor.rb' + +# Offense count: 15 +# This cop supports unsafe autocorrection (--autocorrect-all). +Performance/TimesMap: + Exclude: + - 'spec/controllers/api/v1/blocks_controller_spec.rb' + - 'spec/controllers/api/v1/mutes_controller_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/request_pool_spec.rb' + - 'spec/models/account_spec.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +Performance/UnfreezeString: + Exclude: + - 'app/lib/rss/builder.rb' + - 'app/lib/text_formatter.rb' + - 'app/validators/status_length_validator.rb' + - 'lib/tasks/mastodon.rake' + +# Offense count: 27 +RSpec/AnyInstance: + Exclude: + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/resets_controller_spec.rb' + - 'spec/controllers/admin/settings/branding_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/recovery_codes_controller_spec.rb' + - 'spec/lib/request_spec.rb' + - 'spec/lib/status_filter_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/validators/follow_limit_validator_spec.rb' + - 'spec/workers/activitypub/delivery_worker_spec.rb' + - 'spec/workers/web/push_notification_worker_spec.rb' + +# Offense count: 139 +# This cop supports unsafe autocorrection (--autocorrect-all). +RSpec/BeEq: + Exclude: + - 'spec/controllers/admin/export_domain_allows_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/reports_controller_spec.rb' + - 'spec/controllers/admin/users/two_factor_authentications_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/favourites_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/lib/activitypub/activity/add_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/tag_manager_spec.rb' + - 'spec/lib/user_settings_decorator_spec.rb' + - 'spec/models/account_domain_block_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/block_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/favourite_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/support/examples/lib/settings/scoped_settings.rb' + - 'spec/workers/domain_block_worker_spec.rb' + - 'spec/workers/domain_clear_media_worker_spec.rb' + - 'spec/workers/feed_insert_worker_spec.rb' + - 'spec/workers/regeneration_worker_spec.rb' + +# Offense count: 22 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: be, be_nil +RSpec/BeNil: + Exclude: + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/statuses_controller_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 1 +RSpec/BeforeAfterAll: + Exclude: + - 'spec/requests/localization_spec.rb' + +# Offense count: 14 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnabledMethods. +RSpec/Capybara/FeatureMethods: + Exclude: + - 'spec/features/log_in_spec.rb' + - 'spec/features/profile_spec.rb' + +# Offense count: 32 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: be_a, be_kind_of +RSpec/ClassCheck: + Exclude: + - 'spec/lib/settings/extend_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 558 +# Configuration parameters: Prefixes, AllowedPatterns. +# Prefixes: when, with, without +RSpec/ContextWording: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/relationships_controller_spec.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/emails/confirmations_controller_spec.rb' + - 'spec/controllers/api/v1/instances/activity_controller_spec.rb' + - 'spec/controllers/api/v1/instances/peers_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/concerns/cache_concern_spec.rb' + - 'spec/controllers/concerns/challengable_concern_spec.rb' + - 'spec/controllers/concerns/localized_spec.rb' + - 'spec/controllers/concerns/rate_limit_headers_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/statuses_controller_spec.rb' + - 'spec/helpers/admin/account_moderation_notes_helper_spec.rb' + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/helpers/routing_helper_spec.rb' + - 'spec/lib/activitypub/activity/accept_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/follow_spec.rb' + - 'spec/lib/activitypub/activity/reject_spec.rb' + - 'spec/lib/emoji_formatter_spec.rb' + - 'spec/lib/entity_cache_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/html_aware_formatter_spec.rb' + - 'spec/lib/link_details_extractor_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/plain_text_formatter_spec.rb' + - 'spec/lib/scope_transformer_spec.rb' + - 'spec/lib/status_cache_hydrator_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/lib/text_formatter_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/email_domain_block_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/remote_follow_spec.rb' + - 'spec/models/report_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/policies/account_policy_spec.rb' + - 'spec/policies/backup_policy_spec.rb' + - 'spec/policies/custom_emoji_policy_spec.rb' + - 'spec/policies/domain_block_policy_spec.rb' + - 'spec/policies/email_domain_block_policy_spec.rb' + - 'spec/policies/instance_policy_spec.rb' + - 'spec/policies/invite_policy_spec.rb' + - 'spec/policies/relay_policy_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + - 'spec/policies/report_policy_spec.rb' + - 'spec/policies/settings_policy_spec.rb' + - 'spec/policies/tag_policy_spec.rb' + - 'spec/policies/user_policy_spec.rb' + - 'spec/presenters/account_relationships_presenter_spec.rb' + - 'spec/presenters/status_relationships_presenter_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/reblog_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/resolve_url_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/verify_link_service_spec.rb' + - 'spec/validators/disallowed_hashtags_validator_spec.rb' + - 'spec/validators/email_mx_validator_spec.rb' + - 'spec/validators/follow_limit_validator_spec.rb' + - 'spec/validators/poll_validator_spec.rb' + - 'spec/validators/status_pin_validator_spec.rb' + - 'spec/validators/unreserved_username_validator_spec.rb' + - 'spec/validators/url_validator_spec.rb' + - 'spec/workers/move_worker_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# Offense count: 339 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: SkipBlocks, EnforcedStyle. +# SupportedStyles: described_class, explicit +RSpec/DescribedClass: + Exclude: + - 'spec/controllers/concerns/cache_concern_spec.rb' + - 'spec/controllers/concerns/challengable_concern_spec.rb' + - 'spec/lib/entity_cache_spec.rb' + - 'spec/lib/extractor_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/hash_object_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/request_spec.rb' + - 'spec/lib/tag_manager_spec.rb' + - 'spec/lib/webfinger_resource_spec.rb' + - 'spec/mailers/notification_mailer_spec.rb' + - 'spec/mailers/user_mailer_spec.rb' + - 'spec/models/account_conversation_spec.rb' + - 'spec/models/account_domain_block_spec.rb' + - 'spec/models/account_migration_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/block_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/email_domain_block_spec.rb' + - 'spec/models/export_spec.rb' + - 'spec/models/favourite_spec.rb' + - 'spec/models/follow_spec.rb' + - 'spec/models/identity_spec.rb' + - 'spec/models/import_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/relationship_filter_spec.rb' + - 'spec/models/report_filter_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/site_upload_spec.rb' + - 'spec/models/status_pin_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/presenters/account_relationships_presenter_spec.rb' + - 'spec/presenters/instance_presenter_spec.rb' + - 'spec/presenters/status_relationships_presenter_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/serializers/rest/account_serializer_spec.rb' + - 'spec/services/activitypub/fetch_remote_account_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_actor_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_key_service_spec.rb' + - 'spec/services/after_block_domain_from_account_service_spec.rb' + - 'spec/services/authorize_follow_service_spec.rb' + - 'spec/services/batched_remove_status_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/block_service_spec.rb' + - 'spec/services/bootstrap_timeline_service_spec.rb' + - 'spec/services/clear_domain_media_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/purge_domain_service_spec.rb' + - 'spec/services/reblog_service_spec.rb' + - 'spec/services/reject_follow_service_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unblock_service_spec.rb' + - 'spec/services/unfollow_service_spec.rb' + - 'spec/services/unmute_service_spec.rb' + - 'spec/services/update_account_service_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + +# Offense count: 32 +# This cop supports unsafe autocorrection (--autocorrect-all). +RSpec/EmptyExampleGroup: + Exclude: + - 'spec/helpers/admin/action_log_helper_spec.rb' + - 'spec/models/account_alias_spec.rb' + - 'spec/models/account_deletion_request_spec.rb' + - 'spec/models/account_moderation_note_spec.rb' + - 'spec/models/announcement_mute_spec.rb' + - 'spec/models/announcement_reaction_spec.rb' + - 'spec/models/announcement_spec.rb' + - 'spec/models/backup_spec.rb' + - 'spec/models/conversation_mute_spec.rb' + - 'spec/models/custom_filter_keyword_spec.rb' + - 'spec/models/custom_filter_spec.rb' + - 'spec/models/device_spec.rb' + - 'spec/models/encrypted_message_spec.rb' + - 'spec/models/featured_tag_spec.rb' + - 'spec/models/follow_recommendation_suppression_spec.rb' + - 'spec/models/list_account_spec.rb' + - 'spec/models/list_spec.rb' + - 'spec/models/login_activity_spec.rb' + - 'spec/models/mute_spec.rb' + - 'spec/models/one_time_key_spec.rb' + - 'spec/models/preview_card_spec.rb' + - 'spec/models/preview_card_trend_spec.rb' + - 'spec/models/relay_spec.rb' + - 'spec/models/scheduled_status_spec.rb' + - 'spec/models/status_stat_spec.rb' + - 'spec/models/status_trend_spec.rb' + - 'spec/models/system_key_spec.rb' + - 'spec/models/tag_follow_spec.rb' + - 'spec/models/unavailable_domain_spec.rb' + - 'spec/models/user_invite_request_spec.rb' + - 'spec/models/web/setting_spec.rb' + - 'spec/services/unmute_service_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowConsecutiveOneLiners. +RSpec/EmptyLineAfterExample: + Exclude: + - 'spec/services/search_service_spec.rb' + +# Offense count: 25 +# This cop supports safe autocorrection (--autocorrect). +RSpec/EmptyLineAfterFinalLet: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/admin/reports_controller_spec.rb' + - 'spec/controllers/admin/resets_controller_spec.rb' + - 'spec/controllers/api/web/embeds_controller_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/intents_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/sessions_controller_spec.rb' + - 'spec/controllers/shares_controller_spec.rb' + - 'spec/lib/status_filter_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/validators/poll_validator_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowConsecutiveOneLiners. +RSpec/EmptyLineAfterHook: + Exclude: + - 'spec/helpers/application_helper_spec.rb' + +# Offense count: 19 +# This cop supports safe autocorrection (--autocorrect). +RSpec/EmptyLineAfterSubject: + Exclude: + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/api/web/embeds_controller_spec.rb' + - 'spec/controllers/emojis_controller_spec.rb' + - 'spec/controllers/follower_accounts_controller_spec.rb' + - 'spec/controllers/following_accounts_controller_spec.rb' + - 'spec/controllers/relationships_controller_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/workers/refollow_worker_spec.rb' + +# Offense count: 178 +# Configuration parameters: CountAsOne. +RSpec/ExampleLength: + Max: 22 + +# Offense count: 10 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples. +# DisallowedExamples: works +RSpec/ExampleWording: + Exclude: + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +RSpec/ExcessiveDocstringSpacing: + Exclude: + - 'spec/controllers/settings/migrations_controller_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +RSpec/ExpectActual: + Exclude: + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + +# Offense count: 21 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: method_call, block +RSpec/ExpectChange: + Exclude: + - 'spec/controllers/admin/account_moderation_notes_controller_spec.rb' + - 'spec/controllers/admin/custom_emojis_controller_spec.rb' + - 'spec/controllers/admin/invites_controller_spec.rb' + - 'spec/controllers/admin/report_notes_controller_spec.rb' + - 'spec/controllers/concerns/accountable_concern_spec.rb' + - 'spec/controllers/invites_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# Offense count: 5 +RSpec/ExpectInHook: + Exclude: + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/lib/status_filter_spec.rb' + +# Offense count: 61 +# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly. +# Include: **/*_spec*rb*, **/spec/**/* +RSpec/FilePath: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/admin/users/roles_controller.rb' + - 'spec/controllers/api/oembed_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/controllers/concerns/export_controller_concern_spec.rb' + - 'spec/controllers/concerns/localized_spec.rb' + - 'spec/controllers/concerns/rate_limit_headers_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/controllers/concerns/user_tracking_concern_spec.rb' + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + - 'spec/helpers/admin/action_log_helper_spec.rb' + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/lib/activitypub/activity/accept_spec.rb' + - 'spec/lib/activitypub/activity/add_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/block_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/lib/activitypub/activity/follow_spec.rb' + - 'spec/lib/activitypub/activity/like_spec.rb' + - 'spec/lib/activitypub/activity/move_spec.rb' + - 'spec/lib/activitypub/activity/reject_spec.rb' + - 'spec/lib/activitypub/activity/remove_spec.rb' + - 'spec/lib/activitypub/activity/undo_spec.rb' + - 'spec/lib/activitypub/activity/update_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/activitypub/dereferencer_spec.rb' + - 'spec/lib/activitypub/linked_data_signature_spec.rb' + - 'spec/lib/activitypub/tag_manager_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/sanitize_config_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_account_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_actor_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_key_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/activitypub/synchronize_followers_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + - 'spec/workers/activitypub/delivery_worker_spec.rb' + - 'spec/workers/activitypub/distribute_poll_update_worker_spec.rb' + - 'spec/workers/activitypub/distribution_worker_spec.rb' + - 'spec/workers/activitypub/fetch_replies_worker_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + - 'spec/workers/activitypub/processing_worker_spec.rb' + - 'spec/workers/activitypub/status_update_distribution_worker_spec.rb' + - 'spec/workers/activitypub/update_distribution_worker_spec.rb' + +# Offense count: 16 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, each, example +RSpec/HookArgument: + Exclude: + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/helpers/instance_helper_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/rails_helper.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/spec_helper.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +RSpec/HooksBeforeExamples: + Exclude: + - 'spec/services/fetch_resource_service_spec.rb' + +# Offense count: 159 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: single_line_only, single_statement_only, disallow, require_implicit +RSpec/ImplicitSubject: + Exclude: + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/instances_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/home_controller_spec.rb' + - 'spec/controllers/relationships_controller_spec.rb' + - 'spec/controllers/settings/featured_tags_controller_spec.rb' + - 'spec/controllers/settings/migrations_controller_spec.rb' + - 'spec/controllers/settings/sessions_controller_spec.rb' + - 'spec/features/log_in_spec.rb' + - 'spec/features/profile_spec.rb' + - 'spec/lib/emoji_formatter_spec.rb' + - 'spec/lib/entity_cache_spec.rb' + - 'spec/lib/html_aware_formatter_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/plain_text_formatter_spec.rb' + - 'spec/lib/text_formatter_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/remote_follow_spec.rb' + - 'spec/models/report_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + +# Offense count: 101 +# Configuration parameters: AssignmentOnly. +RSpec/InstanceVariable: + Exclude: + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/concerns/export_controller_concern_spec.rb' + - 'spec/controllers/home_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/models/concerns/account_finder_concern_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/public_feed_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/services/unblock_domain_service_spec.rb' + +# Offense count: 118 +# This cop supports safe autocorrection (--autocorrect). +RSpec/LeadingSubject: + Exclude: + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/admin/invites_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/lib/activitypub/activity/accept_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/reject_spec.rb' + - 'spec/lib/activitypub/activity/undo_spec.rb' + - 'spec/lib/activitypub/activity/update_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/activitypub/dereferencer_spec.rb' + - 'spec/lib/activitypub/linked_data_signature_spec.rb' + - 'spec/lib/link_details_extractor_spec.rb' + - 'spec/lib/status_filter_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/lib/suspicious_sign_in_detector_spec.rb' + - 'spec/lib/text_formatter_spec.rb' + - 'spec/lib/vacuum/backups_vacuum_spec.rb' + - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb' + - 'spec/lib/vacuum/preview_cards_vacuum_spec.rb' + - 'spec/lib/vacuum/statuses_vacuum_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/account_statuses_filter_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/home_feed_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/public_feed_spec.rb' + - 'spec/models/remote_follow_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/presenters/familiar_followers_presenter_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/serializers/rest/account_serializer_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/activitypub/synchronize_followers_service_spec.rb' + - 'spec/services/after_block_domain_from_account_service_spec.rb' + - 'spec/services/app_sign_up_service_spec.rb' + - 'spec/services/authorize_follow_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/block_service_spec.rb' + - 'spec/services/clear_domain_media_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/services/fan_out_on_write_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/purge_domain_service_spec.rb' + - 'spec/services/reblog_service_spec.rb' + - 'spec/services/reject_follow_service_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unblock_service_spec.rb' + - 'spec/services/unfollow_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/workers/move_worker_spec.rb' + - 'spec/workers/unfollow_follow_worker_spec.rb' + +# Offense count: 15 +RSpec/LeakyConstantDeclaration: + Exclude: + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/concerns/accountable_concern_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/connection_pool/shared_connection_pool_spec.rb' + - 'spec/lib/connection_pool/shared_timed_stack_spec.rb' + - 'spec/lib/settings/extend_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +RSpec/LetBeforeExamples: + Exclude: + - 'spec/models/user_spec.rb' + +# Offense count: 108 +RSpec/LetSetup: + Exclude: + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/action_logs_controller_spec.rb' + - 'spec/controllers/admin/instances_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/filters_controller_spec.rb' + - 'spec/controllers/api/v1/followed_tags_controller_spec.rb' + - 'spec/controllers/api/v1/tags_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/follower_accounts_controller_spec.rb' + - 'spec/controllers/following_accounts_controller_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/oauth/tokens_controller_spec.rb' + - 'spec/controllers/tags_controller_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/vacuum/preview_cards_vacuum_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/canonical_email_block_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/batched_remove_status_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + - 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb' + +# Offense count: 7 +RSpec/MessageChain: + Exclude: + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + +# Offense count: 47 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: have_received, receive +RSpec/MessageSpies: + Exclude: + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/helpers/admin/account_moderation_notes_helper_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/lib/status_finder_spec.rb' + - 'spec/lib/webfinger_resource_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/follow_request_spec.rb' + - 'spec/models/identity_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/spec_helper.rb' + - 'spec/validators/status_length_validator_spec.rb' + +# Offense count: 35 +RSpec/MissingExampleGroupArgument: + Exclude: + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/admin/users/roles_controller.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/features/log_in_spec.rb' + - 'spec/lib/activitypub/activity/undo_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/email_domain_block_spec.rb' + - 'spec/models/trends/statuses_spec.rb' + - 'spec/models/trends/tags_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + +# Offense count: 1 +RSpec/MultipleDescribes: + Exclude: + - 'spec/routing/well_known_routes_spec.rb' + +# Offense count: 599 +RSpec/MultipleExpectations: + Max: 19 + +# Offense count: 443 +# Configuration parameters: AllowSubject. +RSpec/MultipleMemoizedHelpers: + Max: 21 + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +RSpec/MultipleSubjects: + Exclude: + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/api/web/embeds_controller_spec.rb' + - 'spec/controllers/emojis_controller_spec.rb' + - 'spec/controllers/follower_accounts_controller_spec.rb' + - 'spec/controllers/following_accounts_controller_spec.rb' + +# Offense count: 1252 +# Configuration parameters: EnforcedStyle, IgnoreSharedExamples. +# SupportedStyles: always, named_only +RSpec/NamedSubject: + Exclude: + - 'spec/controllers/admin/account_moderation_notes_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/confirmations_controller_spec.rb' + - 'spec/controllers/admin/custom_emojis_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/invites_controller_spec.rb' + - 'spec/controllers/admin/report_notes_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/notes_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/pins_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/invites_controller_spec.rb' + - 'spec/controllers/oauth/authorizations_controller_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/relationships_controller_spec.rb' + - 'spec/controllers/settings/featured_tags_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/lib/activitypub/activity/accept_spec.rb' + - 'spec/lib/activitypub/activity/add_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/block_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/lib/activitypub/activity/follow_spec.rb' + - 'spec/lib/activitypub/activity/like_spec.rb' + - 'spec/lib/activitypub/activity/move_spec.rb' + - 'spec/lib/activitypub/activity/reject_spec.rb' + - 'spec/lib/activitypub/activity/remove_spec.rb' + - 'spec/lib/activitypub/activity/undo_spec.rb' + - 'spec/lib/activitypub/activity/update_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/activitypub/dereferencer_spec.rb' + - 'spec/lib/activitypub/linked_data_signature_spec.rb' + - 'spec/lib/activitypub/tag_manager_spec.rb' + - 'spec/lib/connection_pool/shared_connection_pool_spec.rb' + - 'spec/lib/connection_pool/shared_timed_stack_spec.rb' + - 'spec/lib/delivery_failure_tracker_spec.rb' + - 'spec/lib/emoji_formatter_spec.rb' + - 'spec/lib/fast_ip_map_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/hashtag_normalizer_spec.rb' + - 'spec/lib/link_details_extractor_spec.rb' + - 'spec/lib/request_pool_spec.rb' + - 'spec/lib/request_spec.rb' + - 'spec/lib/sanitize_config_spec.rb' + - 'spec/lib/status_finder_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/lib/suspicious_sign_in_detector_spec.rb' + - 'spec/lib/vacuum/access_tokens_vacuum_spec.rb' + - 'spec/lib/vacuum/backups_vacuum_spec.rb' + - 'spec/lib/vacuum/feeds_vacuum_spec.rb' + - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb' + - 'spec/lib/vacuum/preview_cards_vacuum_spec.rb' + - 'spec/lib/vacuum/statuses_vacuum_spec.rb' + - 'spec/lib/vacuum/system_keys_vacuum_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_migration_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/account_statuses_filter_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/canonical_email_block_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/follow_spec.rb' + - 'spec/models/home_feed_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/public_feed_spec.rb' + - 'spec/models/relationship_filter_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/tag_spec.rb' + - 'spec/models/trends/statuses_spec.rb' + - 'spec/models/trends/tags_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/policies/account_policy_spec.rb' + - 'spec/policies/backup_policy_spec.rb' + - 'spec/policies/custom_emoji_policy_spec.rb' + - 'spec/policies/domain_block_policy_spec.rb' + - 'spec/policies/email_domain_block_policy_spec.rb' + - 'spec/policies/instance_policy_spec.rb' + - 'spec/policies/invite_policy_spec.rb' + - 'spec/policies/relay_policy_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + - 'spec/policies/report_policy_spec.rb' + - 'spec/policies/settings_policy_spec.rb' + - 'spec/policies/status_policy_spec.rb' + - 'spec/policies/tag_policy_spec.rb' + - 'spec/policies/user_policy_spec.rb' + - 'spec/presenters/familiar_followers_presenter_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/serializers/rest/account_serializer_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_account_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_actor_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/after_block_domain_from_account_service_spec.rb' + - 'spec/services/after_block_service_spec.rb' + - 'spec/services/app_sign_up_service_spec.rb' + - 'spec/services/authorize_follow_service_spec.rb' + - 'spec/services/batched_remove_status_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/block_service_spec.rb' + - 'spec/services/bootstrap_timeline_service_spec.rb' + - 'spec/services/clear_domain_media_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/services/fan_out_on_write_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/mute_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/purge_domain_service_spec.rb' + - 'spec/services/reblog_service_spec.rb' + - 'spec/services/reject_follow_service_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/resolve_url_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unblock_domain_service_spec.rb' + - 'spec/services/unblock_service_spec.rb' + - 'spec/services/unfollow_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/services/update_account_service_spec.rb' + - 'spec/services/update_status_service_spec.rb' + - 'spec/services/verify_link_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/validators/email_mx_validator_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + - 'spec/validators/reaction_validator_spec.rb' + - 'spec/validators/status_length_validator_spec.rb' + - 'spec/validators/status_pin_validator_spec.rb' + - 'spec/validators/unique_username_validator_spec.rb' + - 'spec/workers/activitypub/delivery_worker_spec.rb' + - 'spec/workers/activitypub/distribute_poll_update_worker_spec.rb' + - 'spec/workers/activitypub/distribution_worker_spec.rb' + - 'spec/workers/activitypub/fetch_replies_worker_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + - 'spec/workers/activitypub/processing_worker_spec.rb' + - 'spec/workers/activitypub/status_update_distribution_worker_spec.rb' + - 'spec/workers/activitypub/update_distribution_worker_spec.rb' + - 'spec/workers/admin/domain_purge_worker_spec.rb' + - 'spec/workers/domain_block_worker_spec.rb' + - 'spec/workers/domain_clear_media_worker_spec.rb' + - 'spec/workers/feed_insert_worker_spec.rb' + - 'spec/workers/move_worker_spec.rb' + - 'spec/workers/publish_scheduled_announcement_worker_spec.rb' + - 'spec/workers/publish_scheduled_status_worker_spec.rb' + - 'spec/workers/refollow_worker_spec.rb' + - 'spec/workers/regeneration_worker_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + - 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb' + - 'spec/workers/unfollow_follow_worker_spec.rb' + - 'spec/workers/web/push_notification_worker_spec.rb' + +# Offense count: 552 +# Configuration parameters: AllowedGroups. +RSpec/NestedGroups: + Max: 6 + +# Offense count: 2 +# Configuration parameters: AllowedPatterns. +# AllowedPatterns: ^expect_, ^assert_ +RSpec/NoExpectationExample: + Exclude: + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + +# Offense count: 370 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: not_to, to_not +RSpec/NotToNot: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/email_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/roles_controller_spec.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/announcements/reactions_controller_spec.rb' + - 'spec/controllers/api/v1/announcements_controller_spec.rb' + - 'spec/controllers/api/v1/apps/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/filters_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/api/v1/notifications_controller_spec.rb' + - 'spec/controllers/api/v1/polls/votes_controller_spec.rb' + - 'spec/controllers/api/v1/reports_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/mutes_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/auth/challenges_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/concerns/challengable_concern_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/oauth/tokens_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/statuses_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/lib/activitypub/dereferencer_spec.rb' + - 'spec/lib/activitypub/tag_manager_spec.rb' + - 'spec/lib/delivery_failure_tracker_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/html_aware_formatter_spec.rb' + - 'spec/lib/request_pool_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/lib/vacuum/access_tokens_vacuum_spec.rb' + - 'spec/lib/vacuum/backups_vacuum_spec.rb' + - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb' + - 'spec/lib/vacuum/preview_cards_vacuum_spec.rb' + - 'spec/lib/vacuum/statuses_vacuum_spec.rb' + - 'spec/lib/vacuum/system_keys_vacuum_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_conversation_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/account_statuses_filter_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/concerns/status_threading_concern_spec.rb' + - 'spec/models/follow_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/tag_feed_spec.rb' + - 'spec/models/trends/statuses_spec.rb' + - 'spec/models/trends/tags_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/webhook_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/policies/account_policy_spec.rb' + - 'spec/policies/backup_policy_spec.rb' + - 'spec/policies/custom_emoji_policy_spec.rb' + - 'spec/policies/domain_block_policy_spec.rb' + - 'spec/policies/email_domain_block_policy_spec.rb' + - 'spec/policies/instance_policy_spec.rb' + - 'spec/policies/invite_policy_spec.rb' + - 'spec/policies/relay_policy_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + - 'spec/policies/report_policy_spec.rb' + - 'spec/policies/settings_policy_spec.rb' + - 'spec/policies/status_policy_spec.rb' + - 'spec/policies/tag_policy_spec.rb' + - 'spec/policies/user_policy_spec.rb' + - 'spec/presenters/familiar_followers_presenter_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/app_sign_up_service_spec.rb' + - 'spec/services/batched_remove_status_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/bootstrap_timeline_service_spec.rb' + - 'spec/services/fan_out_on_write_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/mute_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/services/update_status_service_spec.rb' + - 'spec/support/examples/models/concerns/account_avatar.rb' + - 'spec/support/examples/models/concerns/account_header.rb' + - 'spec/validators/email_mx_validator_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + - 'spec/validators/reaction_validator_spec.rb' + - 'spec/validators/status_length_validator_spec.rb' + - 'spec/validators/unique_username_validator_spec.rb' + - 'spec/workers/activitypub/fetch_replies_worker_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# Offense count: 3 +RSpec/PendingWithoutReason: + Exclude: + - 'spec/models/account_spec.rb' + - 'spec/support/examples/lib/settings/scoped_settings.rb' + +# Offense count: 9 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers. +# SupportedStyles: inflected, explicit +RSpec/PredicateMatcher: + Exclude: + - 'spec/controllers/api/v1/accounts/notes_controller_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/post_status_service_spec.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +RSpec/Rails/HaveHttpStatus: + Exclude: + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/requests/catch_all_route_request_spec.rb' + +# Offense count: 432 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: numeric, symbolic +RSpec/Rails/HttpStatus: + Exclude: + - 'spec/controllers/about_controller_spec.rb' + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/action_logs_controller_spec.rb' + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/admin/confirmations_controller_spec.rb' + - 'spec/controllers/admin/custom_emojis_controller_spec.rb' + - 'spec/controllers/admin/dashboard_controller_spec.rb' + - 'spec/controllers/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/email_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/export_domain_allows_controller_spec.rb' + - 'spec/controllers/admin/export_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/instances_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/reports_controller_spec.rb' + - 'spec/controllers/admin/settings/branding_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/admin/tags_controller_spec.rb' + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/api/oembed_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/follower_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/following_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/lists_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/notes_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/pins_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/relationships_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/search_controller_spec.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/admin/reports_controller_spec.rb' + - 'spec/controllers/api/v1/announcements/reactions_controller_spec.rb' + - 'spec/controllers/api/v1/announcements_controller_spec.rb' + - 'spec/controllers/api/v1/apps/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/blocks_controller_spec.rb' + - 'spec/controllers/api/v1/conversations_controller_spec.rb' + - 'spec/controllers/api/v1/custom_emojis_controller_spec.rb' + - 'spec/controllers/api/v1/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/endorsements_controller_spec.rb' + - 'spec/controllers/api/v1/filters_controller_spec.rb' + - 'spec/controllers/api/v1/follow_requests_controller_spec.rb' + - 'spec/controllers/api/v1/instances/activity_controller_spec.rb' + - 'spec/controllers/api/v1/instances/peers_controller_spec.rb' + - 'spec/controllers/api/v1/instances_controller_spec.rb' + - 'spec/controllers/api/v1/lists/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/lists_controller_spec.rb' + - 'spec/controllers/api/v1/markers_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/api/v1/mutes_controller_spec.rb' + - 'spec/controllers/api/v1/notifications_controller_spec.rb' + - 'spec/controllers/api/v1/polls/votes_controller_spec.rb' + - 'spec/controllers/api/v1/polls_controller_spec.rb' + - 'spec/controllers/api/v1/reports_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/favourites_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/histories_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/mutes_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/pins_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogs_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/sources_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/api/v1/suggestions_controller_spec.rb' + - 'spec/controllers/api/v1/timelines/home_controller_spec.rb' + - 'spec/controllers/api/v1/timelines/list_controller_spec.rb' + - 'spec/controllers/api/v1/timelines/public_controller_spec.rb' + - 'spec/controllers/api/v1/timelines/tag_controller_spec.rb' + - 'spec/controllers/api/v1/trends/tags_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/api/v2/search_controller_spec.rb' + - 'spec/controllers/api/web/settings_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/authorize_interactions_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/controllers/concerns/export_controller_concern_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/controllers/emojis_controller_spec.rb' + - 'spec/controllers/follower_accounts_controller_spec.rb' + - 'spec/controllers/following_accounts_controller_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/intents_controller_spec.rb' + - 'spec/controllers/invites_controller_spec.rb' + - 'spec/controllers/manifests_controller_spec.rb' + - 'spec/controllers/media_controller_spec.rb' + - 'spec/controllers/media_proxy_controller_spec.rb' + - 'spec/controllers/oauth/authorizations_controller_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/relationships_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/deletes_controller_spec.rb' + - 'spec/controllers/settings/exports_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/controllers/settings/migrations_controller_spec.rb' + - 'spec/controllers/settings/preferences/notifications_controller_spec.rb' + - 'spec/controllers/settings/preferences/other_controller_spec.rb' + - 'spec/controllers/settings/profiles_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/otp_authentication_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/recovery_codes_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication_methods_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/controllers/statuses_controller_spec.rb' + - 'spec/controllers/tags_controller_spec.rb' + - 'spec/controllers/well_known/host_meta_controller_spec.rb' + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/requests/host_meta_request_spec.rb' + - 'spec/requests/webfinger_request_spec.rb' + +# Offense count: 180 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Inferences. +RSpec/Rails/InferredSpecType: + Exclude: + - 'spec/controllers/about_controller_spec.rb' + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/admin/account_moderation_notes_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/action_logs_controller_spec.rb' + - 'spec/controllers/admin/base_controller_spec.rb' + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/admin/confirmations_controller_spec.rb' + - 'spec/controllers/admin/dashboard_controller_spec.rb' + - 'spec/controllers/admin/disputes/appeals_controller_spec.rb' + - 'spec/controllers/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/email_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/export_domain_allows_controller_spec.rb' + - 'spec/controllers/admin/export_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/instances_controller_spec.rb' + - 'spec/controllers/admin/settings/branding_controller_spec.rb' + - 'spec/controllers/admin/tags_controller_spec.rb' + - 'spec/controllers/api/oembed_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/pins_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/search_controller_spec.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/admin/reports_controller_spec.rb' + - 'spec/controllers/api/v1/announcements/reactions_controller_spec.rb' + - 'spec/controllers/api/v1/announcements_controller_spec.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/blocks_controller_spec.rb' + - 'spec/controllers/api/v1/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/conversations_controller_spec.rb' + - 'spec/controllers/api/v1/custom_emojis_controller_spec.rb' + - 'spec/controllers/api/v1/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/emails/confirmations_controller_spec.rb' + - 'spec/controllers/api/v1/endorsements_controller_spec.rb' + - 'spec/controllers/api/v1/favourites_controller_spec.rb' + - 'spec/controllers/api/v1/filters_controller_spec.rb' + - 'spec/controllers/api/v1/follow_requests_controller_spec.rb' + - 'spec/controllers/api/v1/followed_tags_controller_spec.rb' + - 'spec/controllers/api/v1/instances/activity_controller_spec.rb' + - 'spec/controllers/api/v1/instances/peers_controller_spec.rb' + - 'spec/controllers/api/v1/instances_controller_spec.rb' + - 'spec/controllers/api/v1/lists_controller_spec.rb' + - 'spec/controllers/api/v1/markers_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/api/v1/mutes_controller_spec.rb' + - 'spec/controllers/api/v1/notifications_controller_spec.rb' + - 'spec/controllers/api/v1/polls/votes_controller_spec.rb' + - 'spec/controllers/api/v1/polls_controller_spec.rb' + - 'spec/controllers/api/v1/reports_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/suggestions_controller_spec.rb' + - 'spec/controllers/api/v1/tags_controller_spec.rb' + - 'spec/controllers/api/v1/trends/tags_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/api/v2/search_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/challenges_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/controllers/concerns/cache_concern_spec.rb' + - 'spec/controllers/concerns/challengable_concern_spec.rb' + - 'spec/controllers/concerns/export_controller_concern_spec.rb' + - 'spec/controllers/concerns/localized_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/controllers/concerns/user_tracking_concern_spec.rb' + - 'spec/controllers/disputes/appeals_controller_spec.rb' + - 'spec/controllers/disputes/strikes_controller_spec.rb' + - 'spec/controllers/home_controller_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/intents_controller_spec.rb' + - 'spec/controllers/oauth/authorizations_controller_spec.rb' + - 'spec/controllers/oauth/tokens_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/controllers/settings/profiles_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/controllers/tags_controller_spec.rb' + - 'spec/controllers/well_known/host_meta_controller_spec.rb' + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/helpers/accounts_helper_spec.rb' + - 'spec/helpers/admin/account_moderation_notes_helper_spec.rb' + - 'spec/helpers/admin/action_log_helper_spec.rb' + - 'spec/helpers/flashes_helper_spec.rb' + - 'spec/helpers/formatting_helper_spec.rb' + - 'spec/helpers/home_helper_spec.rb' + - 'spec/helpers/routing_helper_spec.rb' + - 'spec/helpers/statuses_helper_spec.rb' + - 'spec/mailers/admin_mailer_spec.rb' + - 'spec/mailers/notification_mailer_spec.rb' + - 'spec/mailers/user_mailer_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_alias_spec.rb' + - 'spec/models/account_conversation_spec.rb' + - 'spec/models/account_deletion_request_spec.rb' + - 'spec/models/account_domain_block_spec.rb' + - 'spec/models/account_migration_spec.rb' + - 'spec/models/account_moderation_note_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/admin/action_log_spec.rb' + - 'spec/models/announcement_mute_spec.rb' + - 'spec/models/announcement_reaction_spec.rb' + - 'spec/models/announcement_spec.rb' + - 'spec/models/appeal_spec.rb' + - 'spec/models/backup_spec.rb' + - 'spec/models/block_spec.rb' + - 'spec/models/canonical_email_block_spec.rb' + - 'spec/models/conversation_mute_spec.rb' + - 'spec/models/conversation_spec.rb' + - 'spec/models/custom_emoji_category_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/custom_filter_keyword_spec.rb' + - 'spec/models/custom_filter_spec.rb' + - 'spec/models/device_spec.rb' + - 'spec/models/domain_allow_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/email_domain_block_spec.rb' + - 'spec/models/encrypted_message_spec.rb' + - 'spec/models/favourite_spec.rb' + - 'spec/models/featured_tag_spec.rb' + - 'spec/models/follow_recommendation_suppression_spec.rb' + - 'spec/models/follow_request_spec.rb' + - 'spec/models/follow_spec.rb' + - 'spec/models/home_feed_spec.rb' + - 'spec/models/identity_spec.rb' + - 'spec/models/import_spec.rb' + - 'spec/models/invite_spec.rb' + - 'spec/models/ip_block_spec.rb' + - 'spec/models/list_account_spec.rb' + - 'spec/models/list_spec.rb' + - 'spec/models/login_activity_spec.rb' + - 'spec/models/marker_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/mention_spec.rb' + - 'spec/models/mute_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/one_time_key_spec.rb' + - 'spec/models/poll_spec.rb' + - 'spec/models/poll_vote_spec.rb' + - 'spec/models/preview_card_spec.rb' + - 'spec/models/preview_card_trend_spec.rb' + - 'spec/models/public_feed_spec.rb' + - 'spec/models/relay_spec.rb' + - 'spec/models/rule_spec.rb' + - 'spec/models/scheduled_status_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/site_upload_spec.rb' + - 'spec/models/status_edit_spec.rb' + - 'spec/models/status_pin_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/status_stat_spec.rb' + - 'spec/models/status_trend_spec.rb' + - 'spec/models/system_key_spec.rb' + - 'spec/models/tag_follow_spec.rb' + - 'spec/models/unavailable_domain_spec.rb' + - 'spec/models/user_invite_request_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/models/web/setting_spec.rb' + - 'spec/models/webauthn_credentials_spec.rb' + - 'spec/models/webhook_spec.rb' + +# Offense count: 6 +RSpec/RepeatedExample: + Exclude: + - 'spec/policies/status_policy_spec.rb' + +# Offense count: 6 +RSpec/RepeatedExampleGroupBody: + Exclude: + - 'spec/controllers/statuses_controller_spec.rb' + +# Offense count: 4 +RSpec/RepeatedExampleGroupDescription: + Exclude: + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + +# Offense count: 6 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: and_return, block +RSpec/ReturnFromStub: + Exclude: + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/apps/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + +# Offense count: 18 +# This cop supports safe autocorrection (--autocorrect). +RSpec/ScatteredLet: + Exclude: + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/push/subscriptions_controller_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/fan_out_on_write_service_spec.rb' + - 'spec/services/import_service_spec.rb' + +# Offense count: 12 +RSpec/ScatteredSetup: + Exclude: + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/admin/disputes/appeals_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +RSpec/SharedContext: + Exclude: + - 'spec/services/unsuspend_account_service_spec.rb' + +# Offense count: 16 +RSpec/StubbedMock: + Exclude: + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/lib/status_filter_spec.rb' + - 'spec/lib/status_finder_spec.rb' + - 'spec/lib/webfinger_resource_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + +# Offense count: 22 +RSpec/SubjectDeclaration: + Exclude: + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/models/account_migration_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/relationship_filter_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/policies/account_policy_spec.rb' + - 'spec/policies/backup_policy_spec.rb' + - 'spec/policies/custom_emoji_policy_spec.rb' + - 'spec/policies/domain_block_policy_spec.rb' + - 'spec/policies/email_domain_block_policy_spec.rb' + - 'spec/policies/instance_policy_spec.rb' + - 'spec/policies/invite_policy_spec.rb' + - 'spec/policies/relay_policy_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + - 'spec/policies/report_policy_spec.rb' + - 'spec/policies/settings_policy_spec.rb' + - 'spec/policies/tag_policy_spec.rb' + - 'spec/policies/user_policy_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + +# Offense count: 5 +RSpec/SubjectStub: + Exclude: + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + +# Offense count: 119 +# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames. +RSpec/VerifiedDoubles: + Exclude: + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/admin/confirmations_controller_spec.rb' + - 'spec/controllers/admin/disputes/appeals_controller_spec.rb' + - 'spec/controllers/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/reports_controller_spec.rb' + - 'spec/controllers/api/web/embeds_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/disputes/appeals_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/helpers/statuses_helper_spec.rb' + - 'spec/lib/suspicious_sign_in_detector_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/validators/disallowed_hashtags_validator_spec.rb' + - 'spec/validators/email_mx_validator_spec.rb' + - 'spec/validators/follow_limit_validator_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + - 'spec/validators/poll_validator_spec.rb' + - 'spec/validators/status_length_validator_spec.rb' + - 'spec/validators/status_pin_validator_spec.rb' + - 'spec/validators/unique_username_validator_spec.rb' + - 'spec/validators/unreserved_username_validator_spec.rb' + - 'spec/validators/url_validator_spec.rb' + - 'spec/views/statuses/show.html.haml_spec.rb' + - 'spec/workers/activitypub/processing_worker_spec.rb' + - 'spec/workers/admin/domain_purge_worker_spec.rb' + - 'spec/workers/domain_block_worker_spec.rb' + - 'spec/workers/domain_clear_media_worker_spec.rb' + - 'spec/workers/feed_insert_worker_spec.rb' + - 'spec/workers/regeneration_worker_spec.rb' + +# Offense count: 19 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: ExpectedOrder, Include. +# ExpectedOrder: index, show, new, edit, create, update, destroy +# Include: app/controllers/**/*.rb +Rails/ActionOrder: + Exclude: + - 'app/controllers/admin/announcements_controller.rb' + - 'app/controllers/admin/roles_controller.rb' + - 'app/controllers/admin/rules_controller.rb' + - 'app/controllers/admin/warning_presets_controller.rb' + - 'app/controllers/admin/webhooks_controller.rb' + - 'app/controllers/api/v1/admin/domain_allows_controller.rb' + - 'app/controllers/api/v1/admin/domain_blocks_controller.rb' + - 'app/controllers/api/v1/admin/email_domain_blocks_controller.rb' + - 'app/controllers/api/v1/admin/ip_blocks_controller.rb' + - 'app/controllers/api/v1/filters_controller.rb' + - 'app/controllers/api/v1/media_controller.rb' + - 'app/controllers/api/v1/push/subscriptions_controller.rb' + - 'app/controllers/api/v2/filters/keywords_controller.rb' + - 'app/controllers/api/v2/filters/statuses_controller.rb' + - 'app/controllers/api/v2/filters_controller.rb' + - 'app/controllers/auth/registrations_controller.rb' + - 'app/controllers/filters_controller.rb' + - 'app/controllers/settings/applications_controller.rb' + - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/ActiveRecordCallbacksOrder: + Exclude: + - 'app/models/account.rb' + - 'app/models/account_conversation.rb' + - 'app/models/announcement_reaction.rb' + - 'app/models/block.rb' + - 'app/models/media_attachment.rb' + - 'app/models/session_activation.rb' + - 'app/models/status.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/ApplicationController: + Exclude: + - 'app/controllers/health_controller.rb' + - 'app/controllers/well_known/host_meta_controller.rb' + - 'app/controllers/well_known/nodeinfo_controller.rb' + - 'app/controllers/well_known/webfinger_controller.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent. +Rails/Blank: + Exclude: + - 'app/services/activitypub/fetch_remote_actor_service.rb' + +# Offense count: 35 +# Configuration parameters: Database, Include. +# SupportedDatabases: mysql, postgresql +# Include: db/migrate/*.rb +Rails/BulkChangeTable: + Exclude: + - 'db/migrate/20160222143943_add_profile_fields_to_accounts.rb' + - 'db/migrate/20160223162837_add_metadata_to_statuses.rb' + - 'db/migrate/20160305115639_add_devise_to_users.rb' + - 'db/migrate/20160314164231_add_owner_to_application.rb' + - 'db/migrate/20160926213048_remove_owner_from_application.rb' + - 'db/migrate/20161003142332_add_confirmable_to_users.rb' + - 'db/migrate/20170112154826_migrate_settings.rb' + - 'db/migrate/20170127165745_add_devise_two_factor_to_users.rb' + - 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb' + - 'db/migrate/20170330021336_add_counter_caches.rb' + - 'db/migrate/20170425202925_add_oembed_to_preview_cards.rb' + - 'db/migrate/20170427011934_re_add_owner_to_application.rb' + - 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb' + - 'db/migrate/20170624134742_add_description_to_session_activations.rb' + - 'db/migrate/20170718211102_add_activitypub_to_accounts.rb' + - 'db/migrate/20171006142024_add_uri_to_custom_emojis.rb' + - 'db/migrate/20180812123222_change_relays_enabled.rb' + - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb' + - 'db/migrate/20190805123746_add_capabilities_to_tags.rb' + - 'db/migrate/20190807135426_add_comments_to_domain_blocks.rb' + - 'db/migrate/20190815225426_add_last_status_at_to_tags.rb' + - 'db/migrate/20190901035623_add_max_score_to_tags.rb' + - 'db/migrate/20200417125749_add_storage_schema_version.rb' + - 'db/migrate/20200608113046_add_sign_in_token_to_users.rb' + - 'db/migrate/20211112011713_add_language_to_preview_cards.rb' + - 'db/migrate/20211231080958_add_category_to_reports.rb' + - 'db/migrate/20220202200743_add_trendable_to_accounts.rb' + - 'db/migrate/20220224010024_add_ips_to_email_domain_blocks.rb' + - 'db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb' + - 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb' + - 'db/migrate/20220824164433_add_human_identifier_to_admin_action_logs.rb' + +# Offense count: 7 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/CompactBlank: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/helpers/statuses_helper.rb' + - 'app/models/concerns/attachmentable.rb' + - 'app/models/poll.rb' + - 'app/models/user.rb' + - 'app/services/import_service.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Rails/ContentTag: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/helpers/branding_helper.rb' + +# Offense count: 8 +# Configuration parameters: Include. +# Include: db/migrate/*.rb +Rails/CreateTableWithTimestamps: + Exclude: + - 'db/migrate/20170508230434_create_conversation_mutes.rb' + - 'db/migrate/20170823162448_create_status_pins.rb' + - 'db/migrate/20171116161857_create_list_accounts.rb' + - 'db/migrate/20180929222014_create_account_conversations.rb' + - 'db/migrate/20181007025445_create_pghero_space_stats.rb' + - 'db/migrate/20190103124649_create_scheduled_statuses.rb' + - 'db/migrate/20220824233535_create_status_trends.rb' + - 'db/migrate/20221006061337_create_preview_card_trends.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/DeprecatedActiveModelErrorsMethods: + Exclude: + - 'app/validators/ed25519_key_validator.rb' + - 'app/validators/ed25519_signature_validator.rb' + - 'lib/mastodon/accounts_cli.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +Rails/DuplicateAssociation: + Exclude: + - 'app/serializers/activitypub/collection_serializer.rb' + - 'app/serializers/activitypub/note_serializer.rb' + +# Offense count: 12 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/EnumHash: + Exclude: + - 'app/models/account.rb' + - 'app/models/custom_filter.rb' + - 'app/models/domain_block.rb' + - 'app/models/import.rb' + - 'app/models/list.rb' + - 'app/models/media_attachment.rb' + - 'app/models/preview_card.rb' + - 'app/models/relay.rb' + - 'app/models/status.rb' + +# Offense count: 76 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: slashes, arguments +Rails/FilePath: + Exclude: + - 'app/lib/themes.rb' + - 'app/models/setting.rb' + - 'app/validators/reaction_validator.rb' + - 'db/migrate/20170716191202_add_hide_notifications_to_mute.rb' + - 'db/migrate/20170918125918_ids_to_bigints.rb' + - 'db/migrate/20171005171936_add_disabled_to_custom_emojis.rb' + - 'db/migrate/20171028221157_add_reblogs_to_follows.rb' + - 'db/migrate/20171107143332_add_memorial_to_accounts.rb' + - 'db/migrate/20171107143624_add_disabled_to_users.rb' + - 'db/migrate/20171109012327_add_moderator_to_accounts.rb' + - 'db/migrate/20171130000000_add_embed_url_to_preview_cards.rb' + - 'db/migrate/20180615122121_add_autofollow_to_invites.rb' + - 'db/migrate/20180707154237_add_whole_word_to_custom_filter.rb' + - 'db/migrate/20180814171349_add_confidential_to_doorkeeper_application.rb' + - 'db/migrate/20181010141500_add_silent_to_mentions.rb' + - 'db/migrate/20181017170937_add_reject_reports_to_domain_blocks.rb' + - 'db/migrate/20181018205649_add_unread_to_account_conversations.rb' + - 'db/migrate/20181127130500_identity_id_to_bigint.rb' + - 'db/migrate/20181127165847_add_show_replies_to_lists.rb' + - 'db/migrate/20190201012802_add_overwrite_to_imports.rb' + - 'db/migrate/20190306145741_add_lock_version_to_polls.rb' + - 'db/migrate/20190307234537_add_approved_to_users.rb' + - 'db/migrate/20191001213028_add_lock_version_to_account_stats.rb' + - 'db/migrate/20191212003415_increase_backup_size.rb' + - 'db/migrate/20200312144258_add_title_to_account_warning_presets.rb' + - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb' + - 'db/migrate/20200917192924_add_notify_to_follows.rb' + - 'db/migrate/20201218054746_add_obfuscate_to_domain_blocks.rb' + - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb' + - 'db/migrate/20211231080958_add_category_to_reports.rb' + - 'db/migrate/20220613110834_add_action_to_custom_filters.rb' + - 'db/post_migrate/20220307083603_optimize_null_index_conversations_uri.rb' + - 'db/post_migrate/20220310060545_optimize_null_index_statuses_in_reply_to_account_id.rb' + - 'db/post_migrate/20220310060556_optimize_null_index_statuses_in_reply_to_id.rb' + - 'db/post_migrate/20220310060614_optimize_null_index_media_attachments_scheduled_status_id.rb' + - 'db/post_migrate/20220310060626_optimize_null_index_media_attachments_shortcode.rb' + - 'db/post_migrate/20220310060641_optimize_null_index_users_reset_password_token.rb' + - 'db/post_migrate/20220310060653_optimize_null_index_users_created_by_application_id.rb' + - 'db/post_migrate/20220310060706_optimize_null_index_statuses_uri.rb' + - 'db/post_migrate/20220310060722_optimize_null_index_accounts_moved_to_account_id.rb' + - 'db/post_migrate/20220310060740_optimize_null_index_oauth_access_tokens_refresh_token.rb' + - 'db/post_migrate/20220310060750_optimize_null_index_accounts_url.rb' + - 'db/post_migrate/20220310060809_optimize_null_index_oauth_access_tokens_resource_owner_id.rb' + - 'db/post_migrate/20220310060833_optimize_null_index_announcement_reactions_custom_emoji_id.rb' + - 'db/post_migrate/20220310060854_optimize_null_index_appeals_approved_by_account_id.rb' + - 'db/post_migrate/20220310060913_optimize_null_index_account_migrations_target_account_id.rb' + - 'db/post_migrate/20220310060926_optimize_null_index_appeals_rejected_by_account_id.rb' + - 'db/post_migrate/20220310060939_optimize_null_index_list_accounts_follow_id.rb' + - 'db/post_migrate/20220310060959_optimize_null_index_web_push_subscriptions_access_token_id.rb' + - 'db/post_migrate/20220613110802_remove_whole_word_from_custom_filters.rb' + - 'db/post_migrate/20220613110903_remove_irreversible_from_custom_filters.rb' + - 'db/post_migrate/20220617202502_migrate_roles.rb' + - 'db/seeds.rb' + - 'db/seeds/03_roles.rb' + - 'lib/tasks/branding.rake' + - 'lib/tasks/emojis.rake' + - 'lib/tasks/repo.rake' + - 'spec/controllers/admin/custom_emojis_controller_spec.rb' + - 'spec/fabricators/custom_emoji_fabricator.rb' + - 'spec/fabricators/site_upload_fabricator.rb' + - 'spec/rails_helper.rb' + - 'spec/spec_helper.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Rails/FindById: + Exclude: + - 'app/controllers/api/v1/notifications_controller.rb' + - 'app/controllers/media_controller.rb' + +# Offense count: 6 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/HasAndBelongsToMany: + Exclude: + - 'app/models/concerns/account_associations.rb' + - 'app/models/preview_card.rb' + - 'app/models/status.rb' + - 'app/models/tag.rb' + +# Offense count: 15 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/HasManyOrHasOneDependent: + Exclude: + - 'app/models/concerns/account_counters.rb' + - 'app/models/conversation.rb' + - 'app/models/custom_emoji.rb' + - 'app/models/custom_emoji_category.rb' + - 'app/models/domain_block.rb' + - 'app/models/invite.rb' + - 'app/models/status.rb' + - 'app/models/user.rb' + - 'app/models/web/push_subscription.rb' + +# Offense count: 4 +# Configuration parameters: Include. +# Include: app/helpers/**/*.rb +Rails/HelperInstanceVariable: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/helpers/instance_helper.rb' + - 'app/helpers/jsonld_helper.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Include. +# Include: spec/**/*, test/**/* +Rails/HttpPositionalArguments: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + +# Offense count: 49 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: numeric, symbolic +Rails/HttpStatus: + Exclude: + - 'app/controllers/activitypub/inboxes_controller.rb' + - 'app/controllers/api/base_controller.rb' + - 'app/controllers/api/v1/admin/domain_blocks_controller.rb' + - 'app/controllers/api/v1/instances/activity_controller.rb' + - 'app/controllers/api/v1/instances/domain_blocks_controller.rb' + - 'app/controllers/api/v1/instances/peers_controller.rb' + - 'app/controllers/api/v1/lists_controller.rb' + - 'app/controllers/api/v1/markers_controller.rb' + - 'app/controllers/api/v1/media_controller.rb' + - 'app/controllers/api/v1/statuses_controller.rb' + - 'app/controllers/api/v1/streaming_controller.rb' + - 'app/controllers/api/v2/media_controller.rb' + - 'app/controllers/api/v2/search_controller.rb' + - 'app/controllers/api/web/base_controller.rb' + - 'app/controllers/settings/pictures_controller.rb' + - 'app/controllers/well_known/webfinger_controller.rb' + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/controllers/concerns/localized_spec.rb' + - 'spec/controllers/concerns/rate_limit_headers_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + +# Offense count: 7 +# Configuration parameters: Include. +# Include: spec/**/*.rb, test/**/*.rb +Rails/I18nLocaleAssignment: + Exclude: + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/requests/localization_spec.rb' + +# Offense count: 6 +Rails/I18nLocaleTexts: + Exclude: + - 'lib/tasks/mastodon.rake' + - 'spec/helpers/flashes_helper_spec.rb' + +# Offense count: 8 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/IgnoredColumnsAssignment: + Exclude: + - 'app/models/account.rb' + - 'app/models/account_stat.rb' + - 'app/models/admin/action_log.rb' + - 'app/models/custom_filter.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/report.rb' + - 'app/models/status_edit.rb' + - 'app/models/user.rb' + +# Offense count: 25 +# Configuration parameters: IgnoreScopes, Include. +# Include: app/models/**/*.rb +Rails/InverseOf: + Exclude: + - 'app/models/appeal.rb' + - 'app/models/concerns/account_interactions.rb' + - 'app/models/custom_emoji.rb' + - 'app/models/domain_block.rb' + - 'app/models/follow_recommendation.rb' + - 'app/models/instance.rb' + - 'app/models/notification.rb' + - 'app/models/status.rb' + - 'app/models/user_ip.rb' + +# Offense count: 13 +# Configuration parameters: Include. +# Include: app/controllers/**/*.rb, app/mailers/**/*.rb +Rails/LexicallyScopedActionFilter: + Exclude: + - 'app/controllers/admin/domain_blocks_controller.rb' + - 'app/controllers/admin/email_domain_blocks_controller.rb' + - 'app/controllers/auth/passwords_controller.rb' + - 'app/controllers/auth/registrations_controller.rb' + - 'app/controllers/auth/sessions_controller.rb' + +# Offense count: 18 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/NegateInclude: + Exclude: + - 'app/controllers/concerns/signature_verification.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/activitypub/activity/move.rb' + - 'app/lib/feed_manager.rb' + - 'app/lib/link_details_extractor.rb' + - 'app/models/concerns/attachmentable.rb' + - 'app/models/concerns/remotable.rb' + - 'app/models/custom_filter.rb' + - 'app/models/webhook.rb' + - 'app/services/activitypub/process_status_update_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/search_service.rb' + - 'app/workers/web/push_notification_worker.rb' + - 'lib/paperclip/color_extractor.rb' + +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Include. +# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb +Rails/Output: + Exclude: + - 'lib/mastodon/ip_blocks_cli.rb' + +# Offense count: 14 +# This cop supports safe autocorrection (--autocorrect). +Rails/Pluck: + Exclude: + - 'app/lib/importer/base_importer.rb' + - 'app/lib/link_details_extractor.rb' + - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb' + - 'spec/controllers/api/v1/notifications_controller_spec.rb' + - 'spec/controllers/api/v1/suggestions_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + +# Offense count: 9 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Include. +# Include: **/Rakefile, **/*.rake +Rails/RakeEnvironment: + Exclude: + - 'lib/tasks/auto_annotate_models.rake' + - 'lib/tasks/db.rake' + - 'lib/tasks/emojis.rake' + - 'lib/tasks/mastodon.rake' + - 'lib/tasks/repo.rake' + - 'lib/tasks/statistics.rake' + +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). +Rails/RedundantForeignKey: + Exclude: + - 'app/models/custom_filter.rb' + - 'app/models/follow_recommendation.rb' + - 'app/models/report.rb' + - 'app/models/status.rb' + - 'app/models/user_ip.rb' + - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb' + - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' + +# Offense count: 29 +# Configuration parameters: Include. +# Include: db/**/*.rb +Rails/ReversibleMigration: + Exclude: + - 'db/migrate/20160223164502_make_uris_nullable_in_statuses.rb' + - 'db/migrate/20161122163057_remove_unneeded_indexes.rb' + - 'db/migrate/20170205175257_remove_devices.rb' + - 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb' + - 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb' + - 'db/migrate/20170609145826_remove_default_language_from_statuses.rb' + - 'db/migrate/20170711225116_fix_null_booleans.rb' + - 'db/migrate/20171129172043_add_index_on_stream_entries.rb' + - 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb' + - 'db/migrate/20171226094803_more_faster_index_on_notifications.rb' + - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'db/migrate/20180617162849_remove_unused_indexes.rb' + - 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb' + +# Offense count: 10 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/RootPathnameMethods: + Exclude: + - 'lib/mastodon/premailer_webpack_strategy.rb' + - 'lib/tasks/emojis.rake' + - 'lib/tasks/mastodon.rake' + - 'lib/tasks/repo.rake' + - 'spec/fabricators/custom_emoji_fabricator.rb' + - 'spec/fabricators/site_upload_fabricator.rb' + - 'spec/rails_helper.rb' + +# Offense count: 141 +# Configuration parameters: ForbiddenMethods, AllowedMethods. +# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all +Rails/SkipsModelValidations: + Exclude: + - 'app/controllers/admin/invites_controller.rb' + - 'app/controllers/concerns/session_tracking_concern.rb' + - 'app/models/concerns/account_merging.rb' + - 'app/models/concerns/expireable.rb' + - 'app/models/status.rb' + - 'app/models/trends/links.rb' + - 'app/models/trends/preview_card_batch.rb' + - 'app/models/trends/preview_card_provider_batch.rb' + - 'app/models/trends/status_batch.rb' + - 'app/models/trends/statuses.rb' + - 'app/models/trends/tag_batch.rb' + - 'app/models/trends/tags.rb' + - 'app/models/user.rb' + - 'app/services/activitypub/process_status_update_service.rb' + - 'app/services/approve_appeal_service.rb' + - 'app/services/block_domain_service.rb' + - 'app/services/delete_account_service.rb' + - 'app/services/process_mentions_service.rb' + - 'app/services/unallow_domain_service.rb' + - 'app/services/unblock_domain_service.rb' + - 'app/services/update_status_service.rb' + - 'app/workers/activitypub/post_upgrade_worker.rb' + - 'app/workers/move_worker.rb' + - 'app/workers/scheduler/ip_cleanup_scheduler.rb' + - 'app/workers/scheduler/scheduled_statuses_scheduler.rb' + - 'db/migrate/20161203164520_add_from_account_id_to_notifications.rb' + - 'db/migrate/20170105224407_add_shortcode_to_media_attachments.rb' + - 'db/migrate/20170209184350_add_reply_to_statuses.rb' + - 'db/migrate/20170304202101_add_type_to_media_attachments.rb' + - 'db/migrate/20180528141303_fix_accounts_unique_index.rb' + - 'db/migrate/20180609104432_migrate_web_push_subscriptions2.rb' + - 'db/migrate/20181207011115_downcase_custom_emoji_domains.rb' + - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb' + - 'db/migrate/20191007013357_update_pt_locales.rb' + - 'db/migrate/20220316233212_update_kurdish_locales.rb' + - 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb' + - 'db/post_migrate/20200917193528_migrate_notifications_type.rb' + - 'db/post_migrate/20201017234926_fill_account_suspension_origin.rb' + - 'db/post_migrate/20220617202502_migrate_roles.rb' + - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb' + - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' + - 'lib/cli.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/lib/activitypub/activity/follow_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/update_account_service_spec.rb' + +# Offense count: 11 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/SquishedSQLHeredocs: + Exclude: + - 'db/migrate/20170920024819_status_ids_to_timestamp_ids.rb' + - 'db/migrate/20180608213548_reject_following_blocked_users.rb' + - 'db/post_migrate/20190519130537_remove_boosts_widening_audience.rb' + - 'lib/mastodon/snowflake.rb' + - 'lib/tasks/tests.rake' + +# Offense count: 7 +Rails/TransactionExitStatement: + Exclude: + - 'app/lib/activitypub/activity/announce.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/activitypub/activity/delete.rb' + - 'app/services/activitypub/process_account_service.rb' + +# Offense count: 4 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/UniqueValidationWithoutIndex: + Exclude: + - 'app/models/account_alias.rb' + - 'app/models/custom_filter_status.rb' + - 'app/models/identity.rb' + - 'app/models/webauthn_credential.rb' + +# Offense count: 19 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/UnusedIgnoredColumns: + Exclude: + - 'app/models/account.rb' + - 'app/models/account_stat.rb' + - 'app/models/admin/action_log.rb' + - 'app/models/custom_filter.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/report.rb' + - 'app/models/status_edit.rb' + - 'app/models/user.rb' + +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/WhereEquals: + Exclude: + - 'app/models/announcement.rb' + - 'app/models/status.rb' + +# Offense count: 61 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: exists, where +Rails/WhereExists: + Exclude: + - 'app/controllers/activitypub/inboxes_controller.rb' + - 'app/controllers/admin/email_domain_blocks_controller.rb' + - 'app/controllers/auth/registrations_controller.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/delivery_failure_tracker.rb' + - 'app/lib/feed_manager.rb' + - 'app/lib/status_cache_hydrator.rb' + - 'app/lib/suspicious_sign_in_detector.rb' + - 'app/models/concerns/account_interactions.rb' + - 'app/models/featured_tag.rb' + - 'app/models/poll.rb' + - 'app/models/session_activation.rb' + - 'app/models/status.rb' + - 'app/models/user.rb' + - 'app/policies/status_policy.rb' + - 'app/serializers/rest/announcement_serializer.rb' + - 'app/serializers/rest/tag_serializer.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/app_sign_up_service.rb' + - 'app/services/vote_service.rb' + - 'app/validators/reaction_validator.rb' + - 'app/validators/vote_validator.rb' + - 'app/workers/move_worker.rb' + - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb' + - 'lib/mastodon/email_domain_blocks_cli.rb' + - 'lib/tasks/tests.rake' + - 'spec/controllers/api/v1/accounts/notes_controller_spec.rb' + - 'spec/controllers/api/v1/tags_controller_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/purge_domain_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +Security/IoMethods: + Exclude: + - 'spec/controllers/admin/export_domain_allows_controller_spec.rb' + - 'spec/controllers/admin/export_domain_blocks_controller_spec.rb' + +# Offense count: 9 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods. +# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces +# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object +# FunctionalMethods: let, let!, subject, watch +# AllowedMethods: lambda, proc, it +Style/BlockDelimiters: + Exclude: + - 'db/migrate/20171020084748_add_visible_in_picker_to_custom_emoji.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/lib/webfinger_resource_spec.rb' + +# Offense count: 5 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/CaseLikeIf: + Exclude: + - 'app/controllers/authorize_interactions_controller.rb' + - 'app/controllers/concerns/signature_verification.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/models/account.rb' + - 'app/services/resolve_url_service.rb' + +# Offense count: 445 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: nested, compact +Style/ClassAndModuleChildren: + Enabled: false + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods, AllowedPatterns. +# AllowedMethods: ==, equal?, eql? +Style/ClassEqualityComparison: + Exclude: + - 'app/helpers/jsonld_helper.rb' + - 'app/serializers/activitypub/outbox_serializer.rb' + +# Offense count: 7 +Style/CombinableLoops: + Exclude: + - 'app/models/form/custom_emoji_batch.rb' + - 'app/models/form/ip_block_batch.rb' + +# Offense count: 5 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/ConcatArrayLiterals: + Exclude: + - 'app/lib/feed_manager.rb' + +# Offense count: 1433 +# Configuration parameters: AllowedConstants. +Style/Documentation: + Enabled: false + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Style/EmptyLambdaParameter: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: compact, expanded +Style/EmptyMethod: + Exclude: + - 'db/migrate/20181024224956_migrate_account_conversations.rb' + - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb' + - 'db/migrate/20200510110808_reset_web_app_secret.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/ExplicitBlockArgument: + Exclude: + - 'app/mailers/application_mailer.rb' + +# Offense count: 10 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedVars. +Style/FetchEnvVar: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/lib/redis_configuration.rb' + - 'app/lib/translation_service.rb' + - 'lib/mastodon/premailer_webpack_strategy.rb' + - 'lib/mastodon/redis_config.rb' + - 'lib/tasks/repo.rake' + - 'spec/features/profile_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: format, sprintf, percent +Style/FormatString: + Exclude: + - 'app/serializers/rest/privacy_policy_serializer.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/paperclip/color_extractor.rb' + +# Offense count: 15 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns. +# SupportedStyles: annotated, template, unannotated +Style/FormatStringToken: + Exclude: + - 'app/models/privacy_policy.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/paperclip/color_extractor.rb' + +# Offense count: 713 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, always_true, never +Style/FrozenStringLiteralComment: + Enabled: false + +# Offense count: 69 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. +Style/GuardClause: + Exclude: + - 'app/controllers/admin/confirmations_controller.rb' + - 'app/controllers/admin/domain_blocks_controller.rb' + - 'app/controllers/api/v1/accounts/follower_accounts_controller.rb' + - 'app/controllers/api/v1/accounts/following_accounts_controller.rb' + - 'app/controllers/api/v1/accounts/statuses_controller.rb' + - 'app/controllers/api/v1/blocks_controller.rb' + - 'app/controllers/api/v1/conversations_controller.rb' + - 'app/controllers/api/v1/domain_blocks_controller.rb' + - 'app/controllers/api/v1/endorsements_controller.rb' + - 'app/controllers/api/v1/favourites_controller.rb' + - 'app/controllers/api/v1/follow_requests_controller.rb' + - 'app/controllers/api/v1/lists/accounts_controller.rb' + - 'app/controllers/api/v1/mutes_controller.rb' + - 'app/controllers/api/v1/notifications_controller.rb' + - 'app/controllers/api/v1/scheduled_statuses_controller.rb' + - 'app/controllers/api/v1/statuses/favourited_by_accounts_controller.rb' + - 'app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb' + - 'app/controllers/auth/confirmations_controller.rb' + - 'app/controllers/auth/passwords_controller.rb' + - 'app/controllers/filters/statuses_controller.rb' + - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb' + - 'app/lib/activitypub/activity/block.rb' + - 'app/lib/activitypub/linked_data_signature.rb' + - 'app/lib/connection_pool/shared_connection_pool.rb' + - 'app/lib/request.rb' + - 'app/lib/request_pool.rb' + - 'app/lib/status_finder.rb' + - 'app/lib/webfinger.rb' + - 'app/lib/webfinger_resource.rb' + - 'app/models/account_statuses_cleanup_policy.rb' + - 'app/models/concerns/account_counters.rb' + - 'app/models/concerns/ldap_authenticable.rb' + - 'app/models/tag.rb' + - 'app/models/user.rb' + - 'app/serializers/rest/instance_serializer.rb' + - 'app/services/fan_out_on_write_service.rb' + - 'app/services/post_status_service.rb' + - 'app/services/process_hashtags_service.rb' + - 'app/workers/move_worker.rb' + - 'app/workers/redownload_avatar_worker.rb' + - 'app/workers/redownload_header_worker.rb' + - 'app/workers/redownload_media_worker.rb' + - 'app/workers/remote_account_refresh_worker.rb' + - 'db/migrate/20170901141119_truncate_preview_cards.rb' + - 'db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb' + - 'lib/devise/two_factor_ldap_authenticatable.rb' + - 'lib/devise/two_factor_pam_authenticatable.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/mastodon/media_cli.rb' + - 'lib/paperclip/attachment_extensions.rb' + - 'lib/tasks/repo.rake' + +# Offense count: 13 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: braces, no_braces +Style/HashAsLastArrayItem: + Exclude: + - 'app/controllers/admin/statuses_controller.rb' + - 'app/controllers/api/v1/statuses_controller.rb' + - 'app/models/account.rb' + - 'app/models/concerns/account_counters.rb' + - 'app/models/concerns/status_threading_concern.rb' + - 'app/models/status.rb' + - 'app/services/batched_remove_status_service.rb' + - 'app/services/notify_service.rb' + - 'db/migrate/20181024224956_migrate_account_conversations.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowSplatArgument. +Style/HashConversion: + Exclude: + - 'app/services/import_service.rb' + +# Offense count: 12 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +# SupportedShorthandSyntax: always, never, either, consistent +Style/HashSyntax: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/models/media_attachment.rb' + - 'lib/terrapin/multi_pipe_extensions.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/HashTransformValues: + Exclude: + - 'app/serializers/rest/web_push_subscription_serializer.rb' + - 'app/services/import_service.rb' + +# Offense count: 176 +# This cop supports safe autocorrection (--autocorrect). +Style/IfUnlessModifier: + Exclude: + - 'app/controllers/admin/domain_blocks_controller.rb' + - 'app/controllers/api/v1/accounts/follower_accounts_controller.rb' + - 'app/controllers/api/v1/accounts/following_accounts_controller.rb' + - 'app/controllers/api/v1/accounts/statuses_controller.rb' + - 'app/controllers/api/v1/admin/accounts_controller.rb' + - 'app/controllers/api/v1/admin/domain_blocks_controller.rb' + - 'app/controllers/api/v1/blocks_controller.rb' + - 'app/controllers/api/v1/conversations_controller.rb' + - 'app/controllers/api/v1/domain_blocks_controller.rb' + - 'app/controllers/api/v1/emails/confirmations_controller.rb' + - 'app/controllers/api/v1/endorsements_controller.rb' + - 'app/controllers/api/v1/favourites_controller.rb' + - 'app/controllers/api/v1/filters_controller.rb' + - 'app/controllers/api/v1/follow_requests_controller.rb' + - 'app/controllers/api/v1/lists/accounts_controller.rb' + - 'app/controllers/api/v1/mutes_controller.rb' + - 'app/controllers/api/v1/notifications_controller.rb' + - 'app/controllers/api/v1/scheduled_statuses_controller.rb' + - 'app/controllers/api/v1/statuses/favourited_by_accounts_controller.rb' + - 'app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb' + - 'app/controllers/api/v1/trends/links_controller.rb' + - 'app/controllers/api/v1/trends/statuses_controller.rb' + - 'app/controllers/api/v1/trends/tags_controller.rb' + - 'app/controllers/api/v2/admin/accounts_controller.rb' + - 'app/controllers/api/v2/search_controller.rb' + - 'app/controllers/auth/registrations_controller.rb' + - 'app/controllers/auth/sessions_controller.rb' + - 'app/controllers/concerns/localized.rb' + - 'app/controllers/concerns/rate_limit_headers.rb' + - 'app/controllers/concerns/signature_verification.rb' + - 'app/controllers/filters/statuses_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/activitypub/activity/announce.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/activitypub/activity/like.rb' + - 'app/lib/activitypub/linked_data_signature.rb' + - 'app/lib/activitypub/parser/media_attachment_parser.rb' + - 'app/lib/feed_manager.rb' + - 'app/lib/status_cache_hydrator.rb' + - 'app/lib/status_finder.rb' + - 'app/models/account.rb' + - 'app/models/account_migration.rb' + - 'app/models/account_statuses_cleanup_policy.rb' + - 'app/models/admin/import.rb' + - 'app/models/admin/status_batch_action.rb' + - 'app/models/concerns/account_avatar.rb' + - 'app/models/concerns/account_counters.rb' + - 'app/models/concerns/account_header.rb' + - 'app/models/concerns/account_interactions.rb' + - 'app/models/concerns/attachmentable.rb' + - 'app/models/concerns/ldap_authenticable.rb' + - 'app/models/concerns/omniauthable.rb' + - 'app/models/form/redirect.rb' + - 'app/models/media_attachment.rb' + - 'app/models/scheduled_status.rb' + - 'app/models/status.rb' + - 'app/models/trends.rb' + - 'app/models/trends/links.rb' + - 'app/models/trends/statuses.rb' + - 'app/models/user_role.rb' + - 'app/presenters/status_relationships_presenter.rb' + - 'app/serializers/initial_state_serializer.rb' + - 'app/serializers/rest/instance_serializer.rb' + - 'app/services/activitypub/fetch_remote_actor_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/activitypub/prepare_followers_synchronization_service.rb' + - 'app/services/activitypub/process_status_update_service.rb' + - 'app/services/block_domain_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/fetch_resource_service.rb' + - 'app/services/notify_service.rb' + - 'app/services/post_status_service.rb' + - 'app/services/remove_from_followers_service.rb' + - 'app/services/report_service.rb' + - 'app/services/resolve_account_service.rb' + - 'app/services/search_service.rb' + - 'app/services/unblock_domain_service.rb' + - 'app/services/update_status_service.rb' + - 'app/validators/disallowed_hashtags_validator.rb' + - 'app/validators/existing_username_validator.rb' + - 'app/validators/follow_limit_validator.rb' + - 'app/validators/import_validator.rb' + - 'app/validators/note_length_validator.rb' + - 'app/validators/poll_validator.rb' + - 'app/validators/reaction_validator.rb' + - 'app/validators/registration_form_time_validator.rb' + - 'app/workers/activitypub/delivery_worker.rb' + - 'app/workers/move_worker.rb' + - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'db/migrate/20180528141303_fix_accounts_unique_index.rb' + - 'db/migrate/20200510181721_remove_duplicated_indexes_pghero.rb' + - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb' + - 'lib/cli.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/domains_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/mastodon/media_cli.rb' + - 'lib/mastodon/redis_config.rb' + - 'lib/mastodon/statuses_cli.rb' + - 'spec/support/matchers/model/model_have_error_on_field.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: InverseMethods, InverseBlocks. +Style/InverseMethods: + Exclude: + - 'app/models/custom_filter.rb' + - 'app/services/update_account_service.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: line_count_dependent, lambda, literal +Style/Lambda: + Exclude: + - 'app/models/concerns/paginable.rb' + - 'app/models/status.rb' + - 'app/models/tag.rb' + - 'lib/cli.rb' + - 'lib/mastodon/domains_cli.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/MapToHash: + Exclude: + - 'app/models/status.rb' + +# Offense count: 6 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods, AllowedPatterns. +Style/MethodCallWithoutArgsParentheses: + Exclude: + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + +# Offense count: 17 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: literals, strict +Style/MutableConstant: + Exclude: + - 'app/lib/link_details_extractor.rb' + - 'app/models/account.rb' + - 'app/models/custom_emoji.rb' + - 'app/models/tag.rb' + - 'app/services/account_search_service.rb' + - 'app/services/delete_account_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/resolve_url_service.rb' + - 'app/validators/html_validator.rb' + - 'lib/mastodon/snowflake.rb' + - 'spec/controllers/api/base_controller_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods. +# AllowedMethods: be, be_a, be_an, be_between, be_falsey, be_kind_of, be_instance_of, be_truthy, be_within, eq, eql, end_with, include, match, raise_error, respond_to, start_with +Style/NestedParenthesizedCalls: + Exclude: + - 'spec/services/post_status_service_spec.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinDigits, Strict, AllowedNumbers, AllowedPatterns. +Style/NumericLiterals: + Exclude: + - 'db/migrate/20180812173710_copy_status_stats.rb' + - 'db/migrate/20181116173541_copy_account_stats.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'spec/controllers/api/v1/markers_controller_spec.rb' + +# Offense count: 10 +# Configuration parameters: AllowedMethods. +# AllowedMethods: respond_to_missing? +Style/OptionalBooleanParameter: + Exclude: + - 'app/helpers/admin/account_moderation_notes_helper.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/request.rb' + - 'app/lib/webfinger.rb' + - 'app/services/block_domain_service.rb' + - 'app/services/fetch_resource_service.rb' + - 'app/workers/domain_block_worker.rb' + - 'app/workers/unfollow_follow_worker.rb' + - 'lib/mastodon/redis_config.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Exclude: + - 'spec/lib/text_formatter_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/PerlBackrefs: + Exclude: + - 'app/lib/extractor.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: short, verbose +Style/PreferredHashMethods: + Exclude: + - 'spec/support/matchers/model/model_have_error_on_field.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, AllowedCompactTypes. +# SupportedStyles: compact, exploded +Style/RaiseArgs: + Exclude: + - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb' + - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb' + +# Offense count: 5 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Methods. +Style/RedundantArgument: + Exclude: + - 'app/controllers/concerns/signature_verification.rb' + - 'app/helpers/application_helper.rb' + - 'lib/tasks/emojis.rake' + +# Offense count: 83 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantBegin: + Exclude: + - 'app/controllers/admin/dashboard_controller.rb' + - 'app/controllers/api/v1/announcements_controller.rb' + - 'app/controllers/api/v1/trends/links_controller.rb' + - 'app/controllers/api/v1/trends/statuses_controller.rb' + - 'app/controllers/api/v1/trends/tags_controller.rb' + - 'app/controllers/concerns/rate_limit_headers.rb' + - 'app/controllers/concerns/two_factor_authentication_concern.rb' + - 'app/helpers/admin/dashboard_helper.rb' + - 'app/helpers/admin/trends/statuses_helper.rb' + - 'app/helpers/branding_helper.rb' + - 'app/helpers/domain_control_helper.rb' + - 'app/helpers/formatting_helper.rb' + - 'app/helpers/instance_helper.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/activity_tracker.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/activitypub/forwarder.rb' + - 'app/lib/admin/metrics/dimension/software_versions_dimension.rb' + - 'app/lib/admin/metrics/dimension/space_usage_dimension.rb' + - 'app/lib/extractor.rb' + - 'app/lib/importer/statuses_index_importer.rb' + - 'app/lib/link_details_extractor.rb' + - 'app/lib/request.rb' + - 'app/models/account.rb' + - 'app/models/account/field.rb' + - 'app/models/admin/account_action.rb' + - 'app/models/announcement.rb' + - 'app/models/concerns/account_merging.rb' + - 'app/models/concerns/pam_authenticable.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/form/admin_settings.rb' + - 'app/models/form/custom_emoji_batch.rb' + - 'app/models/notification.rb' + - 'app/models/remote_follow.rb' + - 'app/models/status.rb' + - 'app/models/status_edit.rb' + - 'app/models/trends/links.rb' + - 'app/models/trends/statuses.rb' + - 'app/models/trends/tag_filter.rb' + - 'app/models/trends/tags.rb' + - 'app/models/web/push_subscription.rb' + - 'app/presenters/tag_relationships_presenter.rb' + - 'app/services/account_search_service.rb' + - 'app/services/activitypub/fetch_featured_tags_collection_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/process_mentions_service.rb' + - 'app/services/reblog_service.rb' + - 'app/services/resolve_account_service.rb' + - 'app/validators/domain_validator.rb' + - 'app/validators/existing_username_validator.rb' + - 'app/validators/import_validator.rb' + - 'app/workers/backup_worker.rb' + - 'app/workers/post_process_media_worker.rb' + - 'app/workers/scheduler/follow_recommendations_scheduler.rb' + - 'db/migrate/20180528141303_fix_accounts_unique_index.rb' + - 'db/migrate/20180812173710_copy_status_stats.rb' + - 'db/migrate/20181116173541_copy_account_stats.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/cli_helper.rb' + - 'lib/mastodon/ip_blocks_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/mastodon/media_cli.rb' + - 'lib/mastodon/search_cli.rb' + - 'lib/mastodon/upgrade_cli.rb' + - 'lib/paperclip/color_extractor.rb' + - 'lib/sanitize_ext/sanitize_config.rb' + - 'lib/tasks/db.rake' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantConstantBase: + Exclude: + - 'config.ru' + - 'lib/tasks/statistics.rake' + - 'spec/rails_helper.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantPercentQ: + Exclude: + - 'spec/lib/text_formatter_spec.rb' + +# Offense count: 16 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantRegexpCharacterClass: + Exclude: + - 'app/lib/link_details_extractor.rb' + - 'app/lib/tag_manager.rb' + - 'app/models/domain_allow.rb' + - 'app/models/domain_block.rb' + - 'app/services/fetch_oembed_service.rb' + - 'lib/tasks/emojis.rake' + - 'lib/tasks/mastodon.rake' + +# Offense count: 10 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantRegexpEscape: + Exclude: + - 'app/lib/webfinger_resource.rb' + - 'app/models/account.rb' + - 'app/models/tag.rb' + - 'app/services/fetch_link_card_service.rb' + - 'lib/paperclip/color_extractor.rb' + - 'lib/tasks/mastodon.rake' + +# Offense count: 19 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, AllowInnerSlashes. +# SupportedStyles: slashes, percent_r, mixed +Style/RegexpLiteral: + Exclude: + - 'app/lib/link_details_extractor.rb' + - 'app/lib/permalink_redirector.rb' + - 'app/lib/plain_text_formatter.rb' + - 'app/lib/tag_manager.rb' + - 'app/lib/text_formatter.rb' + - 'app/models/account.rb' + - 'app/models/domain_allow.rb' + - 'app/models/domain_block.rb' + - 'app/models/site_upload.rb' + - 'app/models/tag.rb' + - 'app/services/backup_service.rb' + - 'app/services/fetch_oembed_service.rb' + - 'app/services/search_service.rb' + - 'lib/mastodon/premailer_webpack_strategy.rb' + - 'lib/tasks/mastodon.rake' + +# Offense count: 21 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Exclude: + - 'app/lib/activitypub/activity/move.rb' + - 'app/lib/request.rb' + - 'app/models/account.rb' + - 'app/workers/move_worker.rb' + - 'app/workers/scheduler/vacuum_scheduler.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/cli_helper.rb' + - 'lib/mastodon/media_cli.rb' + - 'lib/mastodon/sidekiq_middleware.rb' + - 'lib/mastodon/statuses_cli.rb' + - 'lib/mastodon/upgrade_cli.rb' + +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. +# AllowedMethods: present?, blank?, presence, try, try! +Style/SafeNavigation: + Exclude: + - 'app/models/concerns/account_finder_concern.rb' + - 'app/models/status.rb' + +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowAsExpressionSeparator. +Style/Semicolon: + Exclude: + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: only_raise, only_fail, semantic +Style/SignalException: + Exclude: + - 'lib/devise/two_factor_ldap_authenticatable.rb' + - 'lib/devise/two_factor_pam_authenticatable.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/SingleArgumentDig: + Exclude: + - 'lib/webpacker/manifest_extensions.rb' + +# Offense count: 14 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/SlicingWithRange: + Exclude: + - 'app/lib/emoji_formatter.rb' + - 'app/lib/text_formatter.rb' + - 'app/lib/toc_generator.rb' + - 'app/models/account_alias.rb' + - 'app/models/domain_block.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/preview_card_provider.rb' + - 'app/validators/status_length_validator.rb' + - 'db/migrate/20190726175042_add_case_insensitive_index_to_tags.rb' + - 'lib/active_record/batches.rb' + - 'lib/mastodon/premailer_webpack_strategy.rb' + - 'lib/tasks/repo.rake' + +# Offense count: 25 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Mode. +Style/StringConcatenation: + Exclude: + - 'app/lib/activitypub/case_transform.rb' + - 'app/lib/validation_error_formatter.rb' + - 'app/services/backup_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'lib/mastodon/emoji_cli.rb' + - 'lib/mastodon/redis_config.rb' + - 'lib/mastodon/snowflake.rb' + - 'lib/paperclip/gif_transcoder.rb' + - 'lib/paperclip/type_corrector.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/validators/disallowed_hashtags_validator_spec.rb' + - 'spec/workers/web/push_notification_worker_spec.rb' + +# Offense count: 297 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiterals: + Exclude: + - 'app/lib/webfinger.rb' + - 'db/migrate/20160305115639_add_devise_to_users.rb' + - 'db/migrate/20161122163057_remove_unneeded_indexes.rb' + - 'db/migrate/20170125145934_add_spoiler_text_to_statuses.rb' + - 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb' + - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'db/migrate/20180617162849_remove_unused_indexes.rb' + - 'db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb' + - 'db/migrate/20200622213645_media_attachment_ids_to_timestamp_ids.rb' + - 'db/migrate/20210306164523_account_ids_to_timestamp_ids.rb' + - 'lib/mastodon/emoji_cli.rb' + - 'lib/rails/engine_extensions.rb' + - 'lib/tasks/mastodon.rake' + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/controllers/settings/profiles_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + - 'spec/fabricators/account_moderation_note_fabricator.rb' + - 'spec/fabricators/account_note_fabricator.rb' + - 'spec/fabricators/account_stat_fabricator.rb' + - 'spec/fabricators/account_tag_stat_fabricator.rb' + - 'spec/fabricators/account_warning_preset_fabricator.rb' + - 'spec/fabricators/admin_action_log_fabricator.rb' + - 'spec/fabricators/canonical_email_block_fabricator.rb' + - 'spec/fabricators/conversation_account_fabricator.rb' + - 'spec/fabricators/custom_emoji_category_fabricator.rb' + - 'spec/fabricators/domain_allow_fabricator.rb' + - 'spec/fabricators/encrypted_message_fabricator.rb' + - 'spec/fabricators/identity_fabricator.rb' + - 'spec/fabricators/ip_block_fabricator.rb' + - 'spec/fabricators/list_fabricator.rb' + - 'spec/fabricators/relay_fabricator.rb' + - 'spec/fabricators/report_fabricator.rb' + - 'spec/fabricators/report_note_fabricator.rb' + - 'spec/fabricators/session_activation_fabricator.rb' + - 'spec/fabricators/status_edit_fabricator.rb' + - 'spec/fabricators/status_fabricator.rb' + - 'spec/fabricators/status_stat_fabricator.rb' + - 'spec/fabricators/user_fabricator.rb' + - 'spec/fabricators/user_role_fabricator.rb' + - 'spec/features/log_in_spec.rb' + - 'spec/helpers/accounts_helper_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/mailers/notification_mailer_spec.rb' + - 'spec/mailers/user_mailer_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/models/webauthn_credentials_spec.rb' + - 'spec/presenters/instance_presenter_spec.rb' + - 'spec/rails_helper.rb' + - 'spec/requests/catch_all_route_request_spec.rb' + - 'spec/requests/host_meta_request_spec.rb' + - 'spec/requests/localization_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/spec_helper.rb' + +# Offense count: 272 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MinSize. +# SupportedStyles: percent, brackets +Style/SymbolArray: + Exclude: + - 'app/controllers/accounts_controller.rb' + - 'app/controllers/activitypub/replies_controller.rb' + - 'app/controllers/admin/accounts_controller.rb' + - 'app/controllers/admin/announcements_controller.rb' + - 'app/controllers/admin/domain_blocks_controller.rb' + - 'app/controllers/admin/email_domain_blocks_controller.rb' + - 'app/controllers/admin/relationships_controller.rb' + - 'app/controllers/admin/relays_controller.rb' + - 'app/controllers/admin/roles_controller.rb' + - 'app/controllers/admin/rules_controller.rb' + - 'app/controllers/admin/statuses_controller.rb' + - 'app/controllers/admin/trends/statuses_controller.rb' + - 'app/controllers/admin/warning_presets_controller.rb' + - 'app/controllers/admin/webhooks_controller.rb' + - 'app/controllers/api/v1/accounts/credentials_controller.rb' + - 'app/controllers/api/v1/accounts_controller.rb' + - 'app/controllers/api/v1/admin/accounts_controller.rb' + - 'app/controllers/api/v1/admin/canonical_email_blocks_controller.rb' + - 'app/controllers/api/v1/admin/domain_allows_controller.rb' + - 'app/controllers/api/v1/admin/domain_blocks_controller.rb' + - 'app/controllers/api/v1/admin/email_domain_blocks_controller.rb' + - 'app/controllers/api/v1/admin/ip_blocks_controller.rb' + - 'app/controllers/api/v1/admin/reports_controller.rb' + - 'app/controllers/api/v1/crypto/deliveries_controller.rb' + - 'app/controllers/api/v1/crypto/keys/claims_controller.rb' + - 'app/controllers/api/v1/crypto/keys/uploads_controller.rb' + - 'app/controllers/api/v1/featured_tags_controller.rb' + - 'app/controllers/api/v1/filters_controller.rb' + - 'app/controllers/api/v1/lists_controller.rb' + - 'app/controllers/api/v1/notifications_controller.rb' + - 'app/controllers/api/v1/push/subscriptions_controller.rb' + - 'app/controllers/api/v1/scheduled_statuses_controller.rb' + - 'app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb' + - 'app/controllers/api/v1/statuses_controller.rb' + - 'app/controllers/api/v2/filters/keywords_controller.rb' + - 'app/controllers/api/v2/filters/statuses_controller.rb' + - 'app/controllers/api/v2/filters_controller.rb' + - 'app/controllers/api/web/push_subscriptions_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/controllers/auth/registrations_controller.rb' + - 'app/controllers/filters_controller.rb' + - 'app/controllers/settings/applications_controller.rb' + - 'app/controllers/settings/featured_tags_controller.rb' + - 'app/controllers/settings/profiles_controller.rb' + - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb' + - 'app/controllers/statuses_controller.rb' + - 'app/lib/feed_manager.rb' + - 'app/models/account.rb' + - 'app/models/account_filter.rb' + - 'app/models/admin/status_filter.rb' + - 'app/models/announcement.rb' + - 'app/models/concerns/ldap_authenticable.rb' + - 'app/models/concerns/status_threading_concern.rb' + - 'app/models/custom_filter.rb' + - 'app/models/domain_block.rb' + - 'app/models/import.rb' + - 'app/models/list.rb' + - 'app/models/media_attachment.rb' + - 'app/models/preview_card.rb' + - 'app/models/relay.rb' + - 'app/models/report.rb' + - 'app/models/site_upload.rb' + - 'app/models/status.rb' + - 'app/serializers/initial_state_serializer.rb' + - 'app/serializers/rest/notification_serializer.rb' + - 'db/migrate/20160220174730_create_accounts.rb' + - 'db/migrate/20160221003621_create_follows.rb' + - 'db/migrate/20160223171800_create_favourites.rb' + - 'db/migrate/20160224223247_create_mentions.rb' + - 'db/migrate/20160314164231_add_owner_to_application.rb' + - 'db/migrate/20160316103650_add_missing_indices.rb' + - 'db/migrate/20160926213048_remove_owner_from_application.rb' + - 'db/migrate/20161003145426_create_blocks.rb' + - 'db/migrate/20161006213403_rails_settings_migration.rb' + - 'db/migrate/20161105130633_create_statuses_tags_join_table.rb' + - 'db/migrate/20161119211120_create_notifications.rb' + - 'db/migrate/20161128103007_create_subscriptions.rb' + - 'db/migrate/20161222204147_create_follow_requests.rb' + - 'db/migrate/20170112154826_migrate_settings.rb' + - 'db/migrate/20170301222600_create_mutes.rb' + - 'db/migrate/20170406215816_add_notifications_and_favourites_indices.rb' + - 'db/migrate/20170424003227_create_account_domain_blocks.rb' + - 'db/migrate/20170427011934_re_add_owner_to_application.rb' + - 'db/migrate/20170507141759_optimize_index_subscriptions.rb' + - 'db/migrate/20170508230434_create_conversation_mutes.rb' + - 'db/migrate/20170720000000_add_index_favourites_on_account_id_and_id.rb' + - 'db/migrate/20170823162448_create_status_pins.rb' + - 'db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb' + - 'db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb' + - 'db/migrate/20170917153509_create_custom_emojis.rb' + - 'db/migrate/20170918125918_ids_to_bigints.rb' + - 'db/migrate/20171116161857_create_list_accounts.rb' + - 'db/migrate/20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb' + - 'db/migrate/20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb' + - 'db/migrate/20171125190735_remove_old_reblog_index_on_statuses.rb' + - 'db/migrate/20171129172043_add_index_on_stream_entries.rb' + - 'db/migrate/20171226094803_more_faster_index_on_notifications.rb' + - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'db/migrate/20180808175627_create_account_pins.rb' + - 'db/migrate/20180831171112_create_bookmarks.rb' + - 'db/migrate/20180929222014_create_account_conversations.rb' + - 'db/migrate/20181007025445_create_pghero_space_stats.rb' + - 'db/migrate/20181203003808_create_accounts_tags_join_table.rb' + - 'db/migrate/20190316190352_create_account_identity_proofs.rb' + - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb' + - 'db/migrate/20190820003045_update_statuses_index.rb' + - 'db/migrate/20190823221802_add_local_index_to_statuses.rb' + - 'db/migrate/20190904222339_create_markers.rb' + - 'db/migrate/20200113125135_create_announcement_mutes.rb' + - 'db/migrate/20200114113335_create_announcement_reactions.rb' + - 'db/migrate/20200119112504_add_public_index_to_statuses.rb' + - 'db/migrate/20200628133322_create_account_notes.rb' + - 'db/migrate/20200917222316_add_index_notifications_on_type.rb' + - 'db/migrate/20210425135952_add_index_on_media_attachments_account_id_status_id.rb' + - 'db/migrate/20220714171049_create_tag_follows.rb' + - 'db/migrate/20221021055441_add_index_featured_tags_on_account_id_and_tag_id.rb' + - 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb' + - 'db/post_migrate/20200917222734_remove_index_notifications_on_account_activity.rb' + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/fabricators/notification_fabricator.rb' + - 'spec/models/public_feed_spec.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments. +# AllowedMethods: define_method, mail, respond_to +Style/SymbolProc: + Exclude: + - 'spec/lib/request_spec.rb' + +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInArguments: + Exclude: + - 'app/controllers/tags_controller.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + +# Offense count: 10 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInArrayLiteral: + Exclude: + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/lib/extractor_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + +# Offense count: 61 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInHashLiteral: + Exclude: + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/push/subscriptions_controller_spec.rb' + - 'spec/controllers/api/web/push_subscriptions_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/controllers/settings/preferences/notifications_controller_spec.rb' + - 'spec/controllers/settings/preferences/other_controller_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/activitypub/synchronize_followers_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/spec_helper.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +Style/UnpackFirst: + Exclude: + - 'app/models/concerns/account_interactions.rb' + - 'lib/paperclip/gif_transcoder.rb' + +# Offense count: 25 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MinSize, WordRegex. +# SupportedStyles: percent, brackets +Style/WordArray: + Exclude: + - 'db/migrate/20170610000000_add_statuses_index_on_account_id_id.rb' + - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/tasks/statistics.rake' + - 'spec/controllers/api/v1/blocks_controller_spec.rb' + - 'spec/controllers/api/v1/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/favourites_controller_spec.rb' + - 'spec/controllers/api/v1/mutes_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/preferences/other_controller_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# don't clean out the manual directives overridden by generated file +Lint/RedundantCopDisableDirective: + Enabled: false