You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
3.5 KiB
148 lines
3.5 KiB
inherit_from: .rubocop_todo.yml |
|
|
|
inherit_mode: |
|
merge: |
|
- Exclude |
|
|
|
require: |
|
- rubocop-rails |
|
- rubocop-rspec |
|
- rubocop-performance |
|
|
|
AllCops: |
|
TargetRubyVersion: 2.7 |
|
DisplayCopNames: true |
|
DisplayStyleGuide: true |
|
ExtraDetails: true |
|
UseCache: true |
|
CacheRootDirectory: tmp |
|
NewCops: enable |
|
Exclude: |
|
- db/schema.rb |
|
- 'config/**/*' |
|
- 'bin/*' |
|
- 'Rakefile' |
|
- 'node_modules/**/*' |
|
- 'Vagrantfile' |
|
- 'vendor/**/*' |
|
- 'lib/json_ld/*' |
|
- 'lib/templates/**/*' |
|
|
|
Layout/FirstHashElementIndentation: |
|
EnforcedStyle: consistent |
|
|
|
Layout/LineLength: |
|
AllowedPatterns: |
|
# Allow comments to be long lines |
|
- !ruby/regexp / \# .*$/ |
|
- !ruby/regexp /^\# .*$/ |
|
Exclude: |
|
- lib/**/*cli*.rb |
|
- db/*migrate/**/* |
|
- db/seeds/**/* |
|
|
|
Lint/UselessAccessModifier: |
|
ContextCreatingMethods: |
|
- class_methods |
|
|
|
Metrics/AbcSize: |
|
Exclude: |
|
- 'lib/**/*cli*.rb' |
|
- db/*migrate/**/* |
|
|
|
Metrics/BlockLength: |
|
CountAsOne: [array, heredoc] |
|
Exclude: |
|
- 'lib/mastodon/*_cli.rb' |
|
|
|
Metrics/BlockNesting: |
|
Exclude: |
|
- 'lib/mastodon/*_cli.rb' |
|
|
|
Metrics/ClassLength: |
|
CountAsOne: [array, heredoc] |
|
Exclude: |
|
- 'lib/mastodon/*_cli.rb' |
|
|
|
Metrics/CyclomaticComplexity: |
|
Exclude: |
|
- lib/mastodon/*cli*.rb |
|
- db/*migrate/**/* |
|
|
|
Metrics/MethodLength: |
|
CountAsOne: [array, heredoc] |
|
Exclude: |
|
- 'lib/mastodon/*_cli.rb' |
|
|
|
Metrics/ModuleLength: |
|
CountAsOne: [array, heredoc] |
|
|
|
Rails/HttpStatus: |
|
EnforcedStyle: numeric |
|
|
|
Rails/Exit: |
|
Exclude: |
|
- 'lib/mastodon/*_cli.rb' |
|
- 'lib/mastodon/cli_helper.rb' |
|
- 'lib/cli.rb' |
|
|
|
# Reason: Some single letter camel case files shouldn't be split |
|
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath |
|
RSpec/FilePath: |
|
CustomTransform: |
|
ActivityPub: activitypub # Ignore the snake_case due to the amount of files to rename |
|
DeepL: deepl |
|
FetchOEmbedService: fetch_oembed_service |
|
JsonLdHelper: jsonld_helper |
|
OEmbedController: oembed_controller |
|
OStatus: ostatus |
|
NodeInfoController: nodeinfo_controller # NodeInfo isn't snake_cased for any of the instances |
|
Exclude: |
|
- 'spec/config/initializers/rack_attack_spec.rb' # namespaces usually have separate folder |
|
- 'spec/lib/sanitize_config_spec.rb' # namespaces usually have separate folder |
|
- 'spec/controllers/concerns/account_controller_concern_spec.rb' # Concerns describe ApplicationController and don't fit naming |
|
- 'spec/controllers/concerns/export_controller_concern_spec.rb' |
|
- 'spec/controllers/concerns/localized_spec.rb' |
|
- 'spec/controllers/concerns/rate_limit_headers_spec.rb' |
|
- 'spec/controllers/concerns/signature_verification_spec.rb' |
|
- 'spec/controllers/concerns/user_tracking_concern_spec.rb' |
|
|
|
RSpec/NotToNot: |
|
EnforcedStyle: to_not |
|
|
|
RSpec/Rails/HttpStatus: |
|
EnforcedStyle: numeric |
|
|
|
# Reason: |
|
# https://docs.rubocop.org/rubocop/cops_style.html#styleclassandmodulechildren |
|
Style/ClassAndModuleChildren: |
|
Enabled: false |
|
|
|
# Reason: Classes mostly self-document with their names |
|
# https://docs.rubocop.org/rubocop/cops_style.html#styledocumentation |
|
Style/Documentation: |
|
Enabled: false |
|
|
|
Style/HashSyntax: |
|
EnforcedStyle: ruby19_no_mixed_keys |
|
|
|
Style/NumericLiterals: |
|
AllowedPatterns: |
|
- \d{4}_\d{2}_\d{2}_\d{6} # For DB migration date version number readability |
|
|
|
Style/PercentLiteralDelimiters: |
|
PreferredDelimiters: |
|
'%i': '()' |
|
'%w': '()' |
|
|
|
Style/RescueStandardError: |
|
EnforcedStyle: implicit |
|
|
|
Style/TrailingCommaInArrayLiteral: |
|
EnforcedStyleForMultiline: 'comma' |
|
|
|
Style/TrailingCommaInHashLiteral: |
|
EnforcedStyleForMultiline: 'comma' |
|
|
|
Style/SymbolArray: |
|
Enabled: false
|
|
|