jaredbeck/graph_matching

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
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