.rubocop.yml
# rubocop configuration file
# Configured for 1.39.0
require:
- rubocop-performance
- rubocop-rails
- rubocop-rspec
AllCops:
Exclude:
- "vendor/**/*"
- "db/schema.rb"
- "spec/fixtures/**/*"
- "db/migrate/*"
UseCache: false
DefaultFormatter: progress
DisplayStyleGuide: true
DisplayCopNames: false
NewCops: enable
TargetRubyVersion: 3.1
Rails:
Enabled: true
Layout/HashAlignment:
Enabled: false
Layout/EndAlignment:
EnforcedStyleAlignWith: variable
Enabled: true
Layout/LineLength:
Max: 140
Enabled: true
Exclude:
- "spec/**/*_spec.rb"
Performance/StringReplacement:
Enabled: false
Layout/ParameterAlignment:
Enabled: false
Style/BlockDelimiters:
EnforcedStyle: semantic
Enabled: true
Exclude:
- spec/**/*
Layout/ClosingParenthesisIndentation:
Enabled: false
Style/ClassAndModuleChildren:
Enabled: false
Style/CollectionMethods:
Enabled: true
PreferredMethods:
collect: map
collect!: map!
inject: reduce
detect: find
Style/Documentation:
Enabled: false
Layout/DotPosition:
Enabled: true
EnforcedStyle: leading
Layout/EmptyLinesAroundBlockBody:
Exclude:
- spec/**/*
Layout/EmptyLinesAroundClassBody:
Enabled: false
Layout/EmptyLinesAroundModuleBody:
Enabled: false
Style/FrozenStringLiteralComment:
Enabled: false
Layout/FirstHashElementIndentation:
Enabled: true
EnforcedStyle: consistent
Layout/MultilineArrayBraceLayout:
Enabled: true
Layout/MultilineHashBraceLayout:
Enabled: true
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
Layout/MultilineOperationIndentation:
EnforcedStyle: indented
Enabled: true
IndentationWidth: 0
Naming/PredicateName:
# Predicate name prefixes.
NamePrefix:
- is_
- has_
- have_
# Predicate name prefixes that should be removed.
ForbiddenPrefixes:
- is_
- has_
- have_
# Predicate names which, despite having a denylisted prefix, or no ?,
# should still be accepted
AllowedMethods:
- is_a?
Exclude:
- spec/**/*
Style/HashEachMethods:
Enabled: true
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
Style/RegexpLiteral:
EnforcedStyle: slashes
AllowInnerSlashes: true
Enabled: true
Style/Send:
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#prefer-public-send'
Enabled: true
Style/StringLiterals:
EnforcedStyle: single_quotes
Style/StringLiteralsInInterpolation:
EnforcedStyle: single_quotes
Style/SymbolArray:
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-i'
Enabled: true
Naming/VariableName:
EnforcedStyle: snake_case
Enabled: true
Rails/HttpPositionalArguments:
Enabled: false