.rubocop.yml
inherit_from: .rubocop_todo.yml
AllCops:
NewCops: enable
SuggestExtensions: false
TargetRubyVersion: 2.3
# Personal preference
Layout/EmptyLineAfterGuardClause:
Enabled: false
Layout/MultilineOperationIndentation:
EnforcedStyle: indented
# Not useful compared to metrics like AbcSize
Metrics/BlockLength:
Enabled: false
# Not useful compared to metrics like AbcSize
Metrics/ClassLength:
Enabled: false
# Not useful compared to metrics like AbcSize
Metrics/MethodLength:
Enabled: false
# Too subtle to lint
Naming/HeredocDelimiterNaming:
Enabled: false
# We use some mathematical symbols because those symbols are used in the papers
# we reference.
Style/AsciiComments:
AllowedChars:
- π
- ≠
# Too subtle to lint. Favor semantic style.
Style/BlockDelimiters:
Enabled: false
# Avoid postfix conditionals, except on the shortest of lines. Never use postfix
# conditional after an assignment.
Style/IfUnlessModifier:
Enabled: false
# Too subtle to lint. Definitely use guard clauses though, they're great.
Style/GuardClause:
Enabled: false
# For this project, where performance matters, do not use the nil predicate method
# (`nil?`), as it is slower than the `==` operator.
Style/NilComparison:
Enabled: false
# For this project, where performance matters, do not use numeric predicate methods like
# `zero?`, as they are about 25% slower than optimized operators like `==`.
Style/NumericPredicate:
Enabled: false
# Avoid postfix conditionals, except on very short lines. Never use postfix conditionals
# after variable assignment, regardless of line length.
Style/WhileUntilModifier:
Enabled: false