180 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			180 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
|  | AllCops:
 | ||
|  |   Exclude:
 | ||
|  |     # Exclude .gemspec files because they are generally auto-generated
 | ||
|  |     - '*.gemspec'
 | ||
|  |     # Exclude vendored folders
 | ||
|  |     - 'tmp/**/*'
 | ||
|  |     - 'vendor/**/*'
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/AbcSize:
 | ||
|  |   Enabled: false
 | ||
|  |   Exclude:
 | ||
|  |     - 'spec/**/*_spec.rb'
 | ||
|  |     - 'test/**/*_test.rb'
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/BlockLength:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/CyclomaticComplexity:
 | ||
|  |   Enabled: false
 | ||
|  |   Exclude:
 | ||
|  |     - 'spec/**/*_spec.rb'
 | ||
|  |     - 'test/**/*_test.rb'
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/ClassLength:
 | ||
|  |   Enabled: false
 | ||
|  |   Exclude:
 | ||
|  |     - 'spec/**/*_spec.rb'
 | ||
|  |     - 'test/**/*_test.rb'
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/LineLength:
 | ||
|  |   Enabled: false
 | ||
|  |   Exclude:
 | ||
|  |     - 'spec/**/*_spec.rb'
 | ||
|  |     - 'test/**/*_test.rb'
 | ||
|  |   Max: 100
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/MethodLength:
 | ||
|  |   Enabled: false
 | ||
|  |   Exclude:
 | ||
|  |     - 'spec/**/*_spec.rb'
 | ||
|  |     - 'test/**/*_test.rb'
 | ||
|  |   Max: 10
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/ModuleLength:
 | ||
|  |   Enabled: false
 | ||
|  |   Exclude:
 | ||
|  |     - 'spec/**/*_spec.rb'
 | ||
|  |     - 'test/**/*_test.rb'
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/ParameterLists:
 | ||
|  |   Enabled: false
 | ||
|  |   Max: 5
 | ||
|  | 
 | ||
|  | # [codesmell]
 | ||
|  | Metrics/PerceivedComplexity:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # Do not use "and" or "or" in conditionals, but for readability we can use it
 | ||
|  | # to chain executions. Just beware of operator order.
 | ||
|  | Style/AndOr:
 | ||
|  |   EnforcedStyle: conditionals
 | ||
|  | 
 | ||
|  | Style/Documentation:
 | ||
|  |   Exclude:
 | ||
|  |     - 'spec/**/*'
 | ||
|  |     - 'test/**/*'
 | ||
|  | 
 | ||
|  | # Double empty lines are useful to separate conceptually different methods
 | ||
|  | # in the same class or module.
 | ||
|  | Layout/EmptyLines:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # In most cases, a space is nice. Sometimes, it's not.
 | ||
|  | # Just be consistent with the rest of the surrounding code.
 | ||
|  | Layout/EmptyLinesAroundClassBody:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # In most cases, a space is nice. Sometimes, it's not.
 | ||
|  | # Just be consistent with the rest of the surrounding code.
 | ||
|  | Layout/EmptyLinesAroundModuleBody:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # This is quite buggy, as it doesn't recognize double lines.
 | ||
|  | # Double empty lines are useful to separate conceptually different methods
 | ||
|  | # in the same class or module.
 | ||
|  | Layout/EmptyLineBetweenDefs:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # I personally don't care about the format style.
 | ||
|  | # In most cases I like to use %, but not at the point I want to enforce it
 | ||
|  | # as a convention in the entire code.
 | ||
|  | Style/FormatString:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # Annotated tokens (like %<foo>s) are a good thing, but in most cases we don't need them.
 | ||
|  | # %s is a simpler and straightforward version that works in almost all cases. So don't complain.
 | ||
|  | Style/FormatStringToken:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # Prefer the latest Hash syntax
 | ||
|  | Style/HashSyntax:
 | ||
|  |   Exclude:
 | ||
|  |     # But Rakefiles generally have some definition like
 | ||
|  |     #   :default => :test
 | ||
|  |     # that looks nicer with the old rocket syntax.
 | ||
|  |     - 'Rakefile'
 | ||
|  | 
 | ||
|  | Style/RescueStandardError:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # Array indentation should be considered like MultilineMethodCallIndentation indentation
 | ||
|  | # and use 4 spaces instead of 2.
 | ||
|  | Layout/IndentFirstArrayElement:
 | ||
|  |   IndentationWidth: 4
 | ||
|  | 
 | ||
|  | # Hash indentation should be considered like MultilineMethodCallIndentation indentation
 | ||
|  | # and use 4 spaces instead of 2.
 | ||
|  | Layout/IndentFirstHashElement:
 | ||
|  |   IndentationWidth: 4
 | ||
|  | 
 | ||
|  | # Multi-line differs from standard indentation, they are indented twice.
 | ||
|  | Layout/MultilineMethodCallIndentation:
 | ||
|  |   EnforcedStyle: indented
 | ||
|  |   IndentationWidth: 4
 | ||
|  | 
 | ||
|  | # unless is not always cool.
 | ||
|  | Style/NegatedIf:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # For years, %w() has been the de-facto standard. A lot of libraries are using ().
 | ||
|  | # Switching to [] would be a nightmare.
 | ||
|  | Style/PercentLiteralDelimiters:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # There are cases were the inline rescue is ok. We can either downgrade the severity,
 | ||
|  | # or rely on the developer judgement on a case-by-case basis.
 | ||
|  | Style/RescueModifier:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # Sorry, but using trailing spaces helps readability.
 | ||
|  | #
 | ||
|  | #   %w( foo bar )
 | ||
|  | #
 | ||
|  | # looks better to me than
 | ||
|  | #
 | ||
|  | #   %w( foo bar )
 | ||
|  | #
 | ||
|  | Layout/SpaceInsidePercentLiteralDelimiters:
 | ||
|  |   Enabled: false
 | ||
|  | 
 | ||
|  | # Hate It or Love It, I prefer double quotes as this is more consistent
 | ||
|  | # with several other programming languages and the output of puts and inspect.
 | ||
|  | Style/StringLiterals:
 | ||
|  |   EnforcedStyle: double_quotes
 | ||
|  | 
 | ||
|  | # It's nice to be consistent. The trailing comma also allows easy reordering,
 | ||
|  | # and doesn't cause a diff in Git when you add a line to the bottom.
 | ||
|  | Style/TrailingCommaInArrayLiteral:
 | ||
|  |   EnforcedStyleForMultiline: consistent_comma
 | ||
|  | Style/TrailingCommaInHashLiteral:
 | ||
|  |   EnforcedStyleForMultiline: consistent_comma
 | ||
|  | 
 | ||
|  | Style/TrivialAccessors:
 | ||
|  |   # IgnoreClassMethods because I want to be able to define class-level accessors
 | ||
|  |   # that sets an instance variable on the metaclass, such as:
 | ||
|  |   #
 | ||
|  |   #    def self.default=(value)
 | ||
|  |   #      @default = value
 | ||
|  |   #    end
 | ||
|  |   #
 | ||
|  |   IgnoreClassMethods: true
 |