# This configuration was generated by
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit`
# on 2023-02-19 06:22:09 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: 581
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
# URISchemes: http, https
Layout/LineLength:
  Enabled: false

# 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: 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_logs_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: 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: 66
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
  Enabled: false

# Offense count: 10
# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
# AllowedMethods: refine
Metrics/BlockLength:
  Exclude:
    - 'app/models/concerns/account_interactions.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: 35
# 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: 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: 1
RSpec/BeforeAfterAll:
  Exclude:
    - 'spec/requests/localization_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_serializer_spec.rb'
    - 'spec/serializers/activitypub/update_poll_serializer_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_followers_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_logs_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: 178
# Configuration parameters: CountAsOne.
RSpec/ExampleLength:
  Max: 22

# 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: 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_serializer_spec.rb'
    - 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
    - 'spec/services/import_service_spec.rb'
    - 'spec/spec_helper.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_serializer_spec.rb'
    - 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
    - 'spec/services/remove_status_service_spec.rb'
    - 'spec/services/search_service_spec.rb'
    - 'spec/services/unblock_domain_service_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: 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_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/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: 599
RSpec/MultipleExpectations:
  Max: 19

# Offense count: 442
# 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: 1407
# 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/instances_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/home_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/migrations_controller_spec.rb'
    - 'spec/controllers/settings/sessions_controller_spec.rb'
    - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb'
    - 'spec/controllers/well_known/webfinger_controller_spec.rb'
    - 'spec/features/log_in_spec.rb'
    - 'spec/features/profile_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/entity_cache_spec.rb'
    - 'spec/lib/fast_ip_map_spec.rb'
    - 'spec/lib/feed_manager_spec.rb'
    - 'spec/lib/hashtag_normalizer_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/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/text_formatter_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/custom_emoji_spec.rb'
    - 'spec/models/follow_spec.rb'
    - 'spec/models/home_feed_spec.rb'
    - 'spec/models/media_attachment_spec.rb'
    - 'spec/models/notification_spec.rb'
    - 'spec/models/public_feed_spec.rb'
    - 'spec/models/relationship_filter_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/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_serializer_spec.rb'
    - 'spec/serializers/activitypub/update_poll_serializer_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_followers_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: 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: 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_emails_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_logs_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: 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_emails_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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 34
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
Style/GuardClause:
  Exclude:
    - 'app/controllers/admin/confirmations_controller.rb'
    - 'app/controllers/auth/confirmations_controller.rb'
    - 'app/controllers/auth/passwords_controller.rb'
    - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb'
    - 'app/lib/activitypub/activity/block.rb'
    - 'app/lib/connection_pool/shared_connection_pool.rb'
    - 'app/lib/request.rb'
    - 'app/lib/request_pool.rb'
    - 'app/lib/webfinger.rb'
    - 'app/lib/webfinger_resource.rb'
    - 'app/models/concerns/account_counters.rb'
    - 'app/models/concerns/ldap_authenticable.rb'
    - 'app/models/tag.rb'
    - 'app/models/user.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: 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: 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: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/MapToHash:
  Exclude:
    - 'app/models/status.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'
    - 'lib/mastodon/snowflake.rb'
    - 'spec/controllers/api/base_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 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: 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: 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: 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'
