|
|
@@ -0,0 +1,242 @@
|
|
|
+require: rubocop-performance
|
|
|
+
|
|
|
+AllCops:
|
|
|
+ TargetRubyVersion: 2.6.3
|
|
|
+ # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
|
|
|
+ # to ignore them, so only the ones explicitly set in this file are enabled.
|
|
|
+ DisabledByDefault: true
|
|
|
+ Exclude:
|
|
|
+ - '**/templates/**/*'
|
|
|
+ - '**/vendor/**/*'
|
|
|
+ - '**/node_modules/**/*'
|
|
|
+
|
|
|
+Performance:
|
|
|
+ Exclude:
|
|
|
+ - '**/spec/**/*'
|
|
|
+
|
|
|
+Rails:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+
|
|
|
+# Prefer &&/|| over and/or.
|
|
|
+Style/AndOr:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Do not use braces for hash literals when they are the last argument of a
|
|
|
+# method call.
|
|
|
+Style/BracesAroundHashParameters:
|
|
|
+ Enabled: true
|
|
|
+ EnforcedStyle: context_dependent
|
|
|
+
|
|
|
+# Align `when` with `case`.
|
|
|
+Layout/CaseIndentation:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Align comments with method definitions.
|
|
|
+Layout/CommentIndentation:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/ElseAlignment:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Align `end` with the matching keyword or starting expression except for
|
|
|
+# assignments, where it should be aligned with the LHS.
|
|
|
+Layout/EndAlignment:
|
|
|
+ Enabled: true
|
|
|
+ EnforcedStyleAlignWith: variable
|
|
|
+ AutoCorrect: true
|
|
|
+
|
|
|
+Layout/EmptyLineAfterMagicComment:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/EmptyLinesAroundBlockBody:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# In a regular class definition, no empty lines around the body.
|
|
|
+Layout/EmptyLinesAroundClassBody:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# In a regular method definition, no empty lines around the body.
|
|
|
+Layout/EmptyLinesAroundMethodBody:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# In a regular module definition, no empty lines around the body.
|
|
|
+Layout/EmptyLinesAroundModuleBody:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/FirstParameterIndentation:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
|
|
|
+Style/HashSyntax:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Method definitions after `private` or `protected` isolated calls need one
|
|
|
+# extra level of indentation.
|
|
|
+Layout/IndentationConsistency:
|
|
|
+ Enabled: true
|
|
|
+ EnforcedStyle: rails
|
|
|
+
|
|
|
+# Two spaces, no tabs (for indentation).
|
|
|
+Layout/IndentationWidth:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/LeadingCommentSpace:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceAfterColon:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceAfterComma:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceAfterSemicolon:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceAroundEqualsInParameterDefault:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceAroundKeyword:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceAroundOperators:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceBeforeComma:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceBeforeComment:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceBeforeFirstArg:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Style/DefWithParentheses:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Defining a method with parameters needs parentheses.
|
|
|
+Style/MethodDefParentheses:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Style/FrozenStringLiteralComment:
|
|
|
+ Enabled: true
|
|
|
+ EnforcedStyle: always
|
|
|
+# Exclude:
|
|
|
+# - 'actionview/test/**/*.builder'
|
|
|
+# - 'actionview/test/**/*.ruby'
|
|
|
+# - 'actionpack/test/**/*.builder'
|
|
|
+# - 'actionpack/test/**/*.ruby'
|
|
|
+# - 'activestorage/db/migrate/**/*.rb'
|
|
|
+# - 'activestorage/db/update_migrate/**/*.rb'
|
|
|
+# - 'actionmailbox/db/migrate/**/*.rb'
|
|
|
+# - 'actiontext/db/migrate/**/*.rb'
|
|
|
+
|
|
|
+Style/RedundantFreeze:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Use `foo {}` not `foo{}`.
|
|
|
+Layout/SpaceBeforeBlockBraces:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Use `foo { bar }` not `foo {bar}`.
|
|
|
+Layout/SpaceInsideBlockBraces:
|
|
|
+ Enabled: true
|
|
|
+ EnforcedStyleForEmptyBraces: space
|
|
|
+
|
|
|
+# Use `{ a: 1 }` not `{a:1}`.
|
|
|
+Layout/SpaceInsideHashLiteralBraces:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Layout/SpaceInsideParens:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Check quotes usage according to lint rule below.
|
|
|
+Style/StringLiterals:
|
|
|
+ Enabled: true
|
|
|
+ EnforcedStyle: double_quotes
|
|
|
+
|
|
|
+# Detect hard tabs, no hard tabs.
|
|
|
+Layout/Tab:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Blank lines should not have any spaces.
|
|
|
+Layout/TrailingBlankLines:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# No trailing whitespace.
|
|
|
+Layout/TrailingWhitespace:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Use quotes for string literals when they are enough.
|
|
|
+Style/UnneededPercentQ:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Lint/AmbiguousOperator:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Lint/AmbiguousRegexpLiteral:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Lint/ErbNewArguments:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
|
|
|
+Lint/RequireParentheses:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Lint/ShadowingOuterLocalVariable:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Lint/StringConversionInInterpolation:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Lint/UriEscapeUnescape:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Lint/UselessAssignment:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Lint/DeprecatedClassMethods:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Style/ParenthesesAroundCondition:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Style/RedundantBegin:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Style/RedundantReturn:
|
|
|
+ Enabled: true
|
|
|
+ AllowMultipleReturnValues: true
|
|
|
+
|
|
|
+Style/Semicolon:
|
|
|
+ Enabled: true
|
|
|
+ AllowAsExpressionSeparator: true
|
|
|
+
|
|
|
+# Prefer Foo.method over Foo::method
|
|
|
+Style/ColonMethodCall:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Style/TrivialAccessors:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Performance/FlatMap:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Performance/RedundantMerge:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Performance/StartWith:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Performance/EndWith:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Performance/RegexpMatch:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Performance/ReverseEach:
|
|
|
+ Enabled: true
|
|
|
+
|
|
|
+Performance/UnfreezeString:
|
|
|
+ Enabled: true
|