Add documentation for Rubocop overrides (#23811)
This commit is contained in:
		
							parent
							
								
									cb2ce842b0
								
							
						
					
					
						commit
						1f19d5e5e8
					
				
							
								
								
									
										78
									
								
								.rubocop.yml
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								.rubocop.yml
									
									
									
									
									
								
							| @ -1,5 +1,7 @@ | |||||||
|  | # Can be removed once all rules are addressed or moved to this file as documented overrides | ||||||
| inherit_from: .rubocop_todo.yml | inherit_from: .rubocop_todo.yml | ||||||
| 
 | 
 | ||||||
|  | # Used for merging with exclude lists with .rubocop_todo.yml | ||||||
| inherit_mode: | inherit_mode: | ||||||
|   merge: |   merge: | ||||||
|     - Exclude |     - Exclude | ||||||
| @ -11,13 +13,13 @@ require: | |||||||
|   - rubocop-capybara |   - rubocop-capybara | ||||||
| 
 | 
 | ||||||
| AllCops: | AllCops: | ||||||
|   TargetRubyVersion: 2.7 |   TargetRubyVersion: 2.7 # Set to minimum supported version of CI | ||||||
|   DisplayCopNames: true |   DisplayCopNames: true | ||||||
|   DisplayStyleGuide: true |   DisplayStyleGuide: true | ||||||
|   ExtraDetails: true |   ExtraDetails: true | ||||||
|   UseCache: true |   UseCache: true | ||||||
|   CacheRootDirectory: tmp |   CacheRootDirectory: tmp | ||||||
|   NewCops: enable |   NewCops: enable # Opt-in to newly added rules | ||||||
|   Exclude: |   Exclude: | ||||||
|     - db/schema.rb |     - db/schema.rb | ||||||
|     - 'bin/*' |     - 'bin/*' | ||||||
| @ -25,12 +27,16 @@ AllCops: | |||||||
|     - 'node_modules/**/*' |     - 'node_modules/**/*' | ||||||
|     - 'Vagrantfile' |     - 'Vagrantfile' | ||||||
|     - 'vendor/**/*' |     - 'vendor/**/*' | ||||||
|     - 'lib/json_ld/*' |     - 'lib/json_ld/*' # Generated files | ||||||
|     - 'lib/templates/**/*' |     - 'lib/templates/**/*' | ||||||
| 
 | 
 | ||||||
|  | # Reason: Prefer Hashes without extreme indentation | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_layout.html#layoutfirsthashelementindentation | ||||||
| Layout/FirstHashElementIndentation: | Layout/FirstHashElementIndentation: | ||||||
|   EnforcedStyle: consistent |   EnforcedStyle: consistent | ||||||
| 
 | 
 | ||||||
|  | # Reason: Currently disabled in .rubocop_todo.yml | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength | ||||||
| Layout/LineLength: | Layout/LineLength: | ||||||
|   AllowedPatterns: |   AllowedPatterns: | ||||||
|     # Allow comments to be long lines |     # Allow comments to be long lines | ||||||
| @ -41,10 +47,14 @@ Layout/LineLength: | |||||||
|     - db/*migrate/**/* |     - db/*migrate/**/* | ||||||
|     - db/seeds/**/* |     - db/seeds/**/* | ||||||
| 
 | 
 | ||||||
|  | # Reason: | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_lint.html#lintuselessaccessmodifier | ||||||
| Lint/UselessAccessModifier: | Lint/UselessAccessModifier: | ||||||
|   ContextCreatingMethods: |   ContextCreatingMethods: | ||||||
|     - class_methods |     - class_methods | ||||||
| 
 | 
 | ||||||
|  | # Reason: Currently disabled in .rubocop_todo.yml | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_metrics.html#metricsabcsize | ||||||
| Metrics/AbcSize: | Metrics/AbcSize: | ||||||
|   Exclude: |   Exclude: | ||||||
|     - 'lib/**/*cli*.rb' |     - 'lib/**/*cli*.rb' | ||||||
| @ -79,6 +89,8 @@ Metrics/BlockLength: | |||||||
|     - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' |     - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' | ||||||
|     - 'lib/paperclip/gif_transcoder.rb' |     - 'lib/paperclip/gif_transcoder.rb' | ||||||
| 
 | 
 | ||||||
|  | # Reason: | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocknesting | ||||||
| Metrics/BlockNesting: | Metrics/BlockNesting: | ||||||
|   Exclude: |   Exclude: | ||||||
|     - 'lib/mastodon/*_cli.rb' |     - 'lib/mastodon/*_cli.rb' | ||||||
| @ -127,22 +139,32 @@ Metrics/ClassLength: | |||||||
|     - 'app/services/update_status_service.rb' |     - 'app/services/update_status_service.rb' | ||||||
|     - 'lib/paperclip/color_extractor.rb' |     - 'lib/paperclip/color_extractor.rb' | ||||||
| 
 | 
 | ||||||
|  | # Reason: Currently disabled in .rubocop_todo.yml | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_metrics.html#metricscyclomaticcomplexity | ||||||
| Metrics/CyclomaticComplexity: | Metrics/CyclomaticComplexity: | ||||||
|   Exclude: |   Exclude: | ||||||
|     - lib/mastodon/*cli*.rb |     - lib/mastodon/*cli*.rb | ||||||
|     - db/*migrate/**/* |     - db/*migrate/**/* | ||||||
| 
 | 
 | ||||||
|  | # Reason: Currently disabled in .rubocop_todo.yml | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_metrics.html#metricsmethodlength | ||||||
| Metrics/MethodLength: | Metrics/MethodLength: | ||||||
|   CountAsOne: [array, heredoc] |   CountAsOne: [array, heredoc] | ||||||
|   Exclude: |   Exclude: | ||||||
|     - 'lib/mastodon/*_cli.rb' |     - 'lib/mastodon/*_cli.rb' | ||||||
| 
 | 
 | ||||||
|  | # Reason: | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror | ||||||
| Metrics/ModuleLength: | Metrics/ModuleLength: | ||||||
|   CountAsOne: [array, heredoc] |   CountAsOne: [array, heredoc] | ||||||
| 
 | 
 | ||||||
|  | # Reason: Prevailing style uses numeric status codes, matches RSpec/Rails/HttpStatus | ||||||
|  | # https://docs.rubocop.org/rubocop-rails/cops_rails.html#railshttpstatus | ||||||
| Rails/HttpStatus: | Rails/HttpStatus: | ||||||
|   EnforcedStyle: numeric |   EnforcedStyle: numeric | ||||||
| 
 | 
 | ||||||
|  | # Reason: Allowed only in the `tootctl` CLI application code | ||||||
|  | # https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsexit | ||||||
| Rails/Exit: | Rails/Exit: | ||||||
|   Exclude: |   Exclude: | ||||||
|     - 'lib/mastodon/*_cli.rb' |     - 'lib/mastodon/*_cli.rb' | ||||||
| @ -170,9 +192,18 @@ RSpec/FilePath: | |||||||
|     - 'spec/controllers/concerns/signature_verification_spec.rb' |     - 'spec/controllers/concerns/signature_verification_spec.rb' | ||||||
|     - 'spec/controllers/concerns/user_tracking_concern_spec.rb' |     - 'spec/controllers/concerns/user_tracking_concern_spec.rb' | ||||||
| 
 | 
 | ||||||
|  | # Reason: | ||||||
|  | # https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnamedsubject | ||||||
|  | RSpec/NamedSubject: | ||||||
|  |   EnforcedStyle: named_only | ||||||
|  | 
 | ||||||
|  | # Reason: Prevailing style choice | ||||||
|  | # https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnottonot | ||||||
| RSpec/NotToNot: | RSpec/NotToNot: | ||||||
|   EnforcedStyle: to_not |   EnforcedStyle: to_not | ||||||
| 
 | 
 | ||||||
|  | # Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus | ||||||
|  | # https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus | ||||||
| RSpec/Rails/HttpStatus: | RSpec/Rails/HttpStatus: | ||||||
|   EnforcedStyle: numeric |   EnforcedStyle: numeric | ||||||
| 
 | 
 | ||||||
| @ -186,34 +217,45 @@ Style/ClassAndModuleChildren: | |||||||
| Style/Documentation: | Style/Documentation: | ||||||
|   Enabled: false |   Enabled: false | ||||||
| 
 | 
 | ||||||
|  | # Reason: Enforce modern Ruby style | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax | ||||||
| Style/HashSyntax: | Style/HashSyntax: | ||||||
|   EnforcedStyle: ruby19_no_mixed_keys |   EnforcedStyle: ruby19_no_mixed_keys | ||||||
| 
 | 
 | ||||||
|  | # Reason: | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_style.html#stylenumericliterals | ||||||
| Style/NumericLiterals: | Style/NumericLiterals: | ||||||
|   AllowedPatterns: |   AllowedPatterns: | ||||||
|     - \d{4}_\d{2}_\d{2}_\d{6} # For DB migration date version number readability |     - \d{4}_\d{2}_\d{2}_\d{6} # For DB migration date version number readability | ||||||
| 
 | 
 | ||||||
|  | # Reason: | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_style.html#stylepercentliteraldelimiters | ||||||
| Style/PercentLiteralDelimiters: | Style/PercentLiteralDelimiters: | ||||||
|   PreferredDelimiters: |   PreferredDelimiters: | ||||||
|     '%i': '()' |     '%i': '()' | ||||||
|     '%w': '()' |     '%w': '()' | ||||||
| 
 | 
 | ||||||
| Style/RescueStandardError: | # Reason: Prefer less indentation in conditional assignments | ||||||
|   EnforcedStyle: implicit |  | ||||||
| 
 |  | ||||||
| Style/TrailingCommaInArrayLiteral: |  | ||||||
|   EnforcedStyleForMultiline: 'comma' |  | ||||||
| 
 |  | ||||||
| Style/TrailingCommaInHashLiteral: |  | ||||||
|   EnforcedStyleForMultiline: 'comma' |  | ||||||
| 
 |  | ||||||
| Style/SymbolArray: |  | ||||||
|   Enabled: false |  | ||||||
| 
 |  | ||||||
| # Reason: Prefer less intendation in conditional assignments |  | ||||||
| # https://docs.rubocop.org/rubocop/cops_style.html#styleredundantbegin | # https://docs.rubocop.org/rubocop/cops_style.html#styleredundantbegin | ||||||
| Style/RedundantBegin: | Style/RedundantBegin: | ||||||
|   Enabled: false |   Enabled: false | ||||||
| 
 | 
 | ||||||
| RSpec/NamedSubject: | # Reason: Overridden to reduce implicit StandardError rescues | ||||||
|   EnforcedStyle: named_only | # https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror | ||||||
|  | Style/RescueStandardError: | ||||||
|  |   EnforcedStyle: implicit | ||||||
|  | 
 | ||||||
|  | # Reason: Originally disabled for CodeClimate, and no config consensus has been found | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray | ||||||
|  | Style/SymbolArray: | ||||||
|  |   Enabled: false | ||||||
|  | 
 | ||||||
|  | # Reason: | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainarrayliteral | ||||||
|  | Style/TrailingCommaInArrayLiteral: | ||||||
|  |   EnforcedStyleForMultiline: 'comma' | ||||||
|  | 
 | ||||||
|  | # Reason: | ||||||
|  | # https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainhashliteral | ||||||
|  | Style/TrailingCommaInHashLiteral: | ||||||
|  |   EnforcedStyleForMultiline: 'comma' | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user