Skip to content

Commit

Permalink
Update rubocop, run it before specs
Browse files Browse the repository at this point in the history
  • Loading branch information
jaredbeck committed Aug 15, 2016
1 parent b6519de commit c5aed67
Show file tree
Hide file tree
Showing 6 changed files with 403 additions and 121 deletions.
114 changes: 3 additions & 111 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,112 +1,4 @@
# Use `rubocop --display-cop-names` and consult
# https://github.com/bbatsov/rubocop/blob/master/config/default.yml
# for options.
inherit_from: .rubocop_todo.yml

# > Literal true appeared in a condition.
# The `while do break` loop is not my favorite type of loop
# either, but it's a valid technique and shouldn't be a lint
# error. At worst, it should be a style recommendation.
# Finally, there is a `loop do .. end` alternative to `while true`
# but it's nearly 3x slower. (https://www.ruby-forum.com/topic/179264)
Lint/LiteralInCondition:
Enabled: false

# TODO: Resolve, then increase severity
Metrics/AbcSize:
Severity: refactor

# TODO: Resolve, then increase severity
Metrics/CyclomaticComplexity:
Severity: refactor

Metrics/LineLength:
Max: 100 # TODO: Reduce to 80

# TODO: Resolve, then increase severity
Metrics/MethodLength:
Severity: refactor

# TODO: Resolve, then increase severity
Metrics/PerceivedComplexity:
Severity: refactor

# Besides being racist, this also prevents the use of mathematical
# symbols like π. We're using utf-8 for a reason, c'mon.
Style/AsciiComments:
Enabled: false

# Block style should express the presence or absence of
# side-effects, not the length of the block.
Style/Blocks:
Enabled: false

# An empty else clause is a good place to put comments explaining
# a no-op.
Style/EmptyElse:
Enabled: false

# We can't say, in all cases that a guard clause is more
# readable. It should be left to the discretion of the
# programmer.
Style/GuardClause:
Enabled: false

# > Favor modifier if usage when having a single-line body.
# Yes, but there are still times, even with very short lines,
# where a multi-line conditional is more readable. Should
# be left to the discretion of the programmer.
Style/IfUnlessModifier:
Enabled: false

# Normally I'd agree, but `loop` is nearly 3x slower, so we can't
# use it in this performance-sensitive application.
# (https://www.ruby-forum.com/topic/179264)
Style/InfiniteLoop:
Enabled: false

# > Align the operands of a condition in an unless statement
# > spanning multiple lines.
# This kind of style recommendation leads to too much mind-numbing
# text shuffling. It's not worth the "whitespace maintenance".
Style/MultilineOperationIndentation:
Enabled: false

# > Use next to skip iteration.
# I agree, but this cop produces false positives.
Style/Next:
Enabled: false

# Normally, I'd agree, but `nil?` is actually a tiny bit slower,
# and that matters when implementing algorithms.
Style/NilComparison:
Enabled: false

# String literal quoting has no impact on performance or
# legibility.
Style/StringLiterals:
Enabled: false

# Percent-literal delimiters should express the content
# of the literal, for example using square braces in `%w[]` to
# indicate an array.
Style/PercentLiteralDelimiters:
Enabled: false

# > The RedundantReturn cop doesn't allow you to specify a return
# > statement as the last line. But if the point is to return
# > several values, I think return a, b, reads better than [a, b]
# > https://github.com/bbatsov/rubocop/issues/528
Style/RedundantReturn:
AllowMultipleReturnValues: true

# Use space inside range literals.
# Bad: `(a..b - 1)`
# Good: `(a .. b - 1)`
# All other binary operators in the language (`+`, `<<`) have
# spaces around them, so `..` and `...` should too.
Style/SpaceInsideRangeLiteral:
Enabled: false

# Disagree. Indentation of loops is an important visual clue.
Style/WhileUntilModifier:
Enabled: false
AllCops:
TargetRubyVersion: 2.0
Loading

0 comments on commit c5aed67

Please sign in to comment.