Skip to content

Instantly share code, notes, and snippets.

@mandelbro
Last active August 24, 2020 05:47
Show Gist options
  • Save mandelbro/84fddcd960e17c7bd1e00e4c94986add to your computer and use it in GitHub Desktop.
Save mandelbro/84fddcd960e17c7bd1e00e4c94986add to your computer and use it in GitHub Desktop.
require: rubocop-rspec
AllCops:
# 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
TargetRubyVersion: 2.7
Exclude:
- '**/node_modules/**/*'
- '**/vendor/**/*'
# 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
Layout/AlignParameters:
Enabled: true
EnforcedStyle: with_fixed_indentation
# Align `when` with `case`.
Layout/CaseIndentation:
Enabled: true
# Align comments with method definitions.
Layout/CommentIndentation:
Enabled: true
Layout/EmptyLineAfterMagicComment:
Enabled: true
# No extra empty lines.
Layout/EmptyLines:
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
# 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: normal
# Two spaces, no tabs (for indentation).
Layout/IndentationWidth:
Enabled: true
Width: 2
Layout/SpaceAfterColon:
Enabled: true
Layout/SpaceAfterComma:
Enabled: true
Layout/SpaceAroundEqualsInParameterDefault:
Enabled: true
Layout/SpaceAroundKeyword:
Enabled: true
Layout/SpaceAroundOperators:
Enabled: true
Layout/SpaceBeforeFirstArg:
Enabled: true
# Defining a method with parameters needs parentheses.
Style/MethodDefParentheses:
Enabled: true
# Use `foo {}` not `foo{}`.
Layout/SpaceBeforeBlockBraces:
Enabled: true
# Use `foo { bar }` not `foo {bar}`.
Layout/SpaceInsideBlockBraces:
Enabled: true
# Use `{ a: 1 }` not `{a:1}`.
Layout/SpaceInsideHashLiteralBraces:
Enabled: true
Layout/SpaceInsideParens:
Enabled: true
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
Metrics/LineLength:
Enabled: true
Max: 80
IgnoredPatterns: ['\A\s*class ']
Layout/MultilineBlockLayout:
Enabled: true
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
IndentationWidth: 2
Layout/DotPosition:
Enabled: true
EnforcedStyle: leading
# No trailing whitespace.
Layout/TrailingWhitespace:
Enabled: true
Layout/IndentHeredoc:
Enabled: true
EnforcedStyle: squiggly
# Use quotes for string literals when they are enough.
Style/UnneededPercentQ:
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
# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
Lint/RequireParentheses:
Enabled: true
Style/BlockDelimiters:
Enabled: true
Style/SymbolArray:
Enabled: true
Naming/UncommunicativeMethodParamName:
Enabled: true
MinNameLength: 3
AllowedNames:
- _
- db
- i
- id
- ip
- n
- us
RSpec/Be:
Enabled: true
RSpec/EmptyLineAfterExampleGroup:
Enabled: true
RSpec/EmptyLineAfterFinalLet:
Enabled: true
RSpec/EmptyLineAfterHook:
Enabled: true
RSpec/EmptyLineAfterSubject:
Enabled: true
RSpec/LetBeforeExamples:
Enabled: true
RSpec/NotToNot:
Enabled: true
RSpec/PredicateMatcher:
Enabled: true
RSpec/ReturnFromStub:
Enabled: true
EnforcedStyle: block
RSpec/ScatteredLet:
Enabled: true
RSpec/VerifiedDoubles:
Enabled: true
Style/RedundantReturn:
Enabled: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment