Enable multiple Rubocop cops that can be enabled
See https://gitlab.com/gitlab-org/gitlab-ce/issues/17406
This enabled following cops:
Lint/CircularArgumentReference:
Description: Default values in optional keyword arguments and optional ordinal arguments
----------------
Lint/ConditionPosition:
Description: Checks for condition placed in a confusing position relative to the keyword.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
----------------
Lint/Debugger:
Description: Check for debugger calls.
----------------
Lint/DefEndAlignment:
Description: Align ends corresponding to defs correctly.
----------------
Lint/DuplicateMethods:
Description: Check for duplicate method definitions.
----------------
Lint/DuplicatedKey:
Description: Check for duplicate keys in hash literals.
----------------
Lint/EachWithObjectArgument:
Description: Check for immutable argument given to each_with_object.
----------------
Lint/ElseLayout:
Description: Check for odd code arrangement in an else block.
----------------
Lint/EmptyEnsure:
Description: Checks for empty ensure block.
----------------
Lint/EmptyInterpolation:
Description: Checks for empty string interpolation.
----------------
Lint/EndAlignment:
Description: Align ends correctly.
----------------
Lint/EndInMethod:
Description: END blocks should not be placed inside method definitions.
----------------
Lint/EnsureReturn:
Description: Do not use return in an ensure block.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
----------------
Lint/Eval:
Description: The use of eval represents a serious security risk.
----------------
Lint/FloatOutOfRange:
Description: Catches floating-point literals too large or small for Ruby to represent.
----------------
Lint/FormatParameterMismatch:
Description: The number of parameters to format/sprint must match the fields.
----------------
Lint/ImplicitStringConcatenation:
Description: Checks for adjacent string literals on the same line, which could better
be represented as a single string literal.
----------------
Lint/InvalidCharacterLiteral:
Description: Checks for invalid character literals with a non-escaped whitespace character.
----------------
Lint/LiteralInInterpolation:
Description: Checks for literals used in interpolation.
----------------
Lint/NestedMethodDefinition:
Description: Do not use nested method definitions.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-methods
----------------
Lint/NextWithoutAccumulator:
Description: Do not omit the accumulator when calling `next` in a `reduce`/`inject`
block.
----------------
Lint/RandOne:
Description: Checks for `rand(1)` calls. Such calls always return `0` and most likely
a mistake.
----------------
Lint/RequireParentheses:
Description: Use parentheses in the method call to avoid confusion about precedence.
----------------
Lint/UnreachableCode:
Description: Unreachable code.
----------------
Lint/UselessComparison:
Description: Checks for comparison of something with itself.
----------------
Lint/UselessElseWithoutRescue:
Description: Checks for useless `else` in `begin..end` without `rescue`.
----------------
Lint/UselessSetterCall:
Description: Checks for useless setter call to a local variable.
----------------
Lint/Void:
Description: Possible use of operator/literal/variable in void context.
----------------
Performance/DoubleStartEndWith:
Description: Use `str.{start,end}_with?(x, ..., y, ...)` instead of `str.{start,end}_with?(x,
...) || str.{start,end}_with?(y, ...)`.
----------------
Performance/RedundantSortBy:
Description: Use `sort` instead of `sort_by { |x| x }`.
----------------
Rails/FindBy:
Description: Prefer find_by over where.first.
Include:
- app/models/**/*.rb
----------------
Rails/FindEach:
Description: Prefer all.find_each over all.find.
Include:
- app/models/**/*.rb
----------------
Rails/PluralizationGrammar:
Description: Checks for incorrect grammar when using methods like `3.day.ago`.
----------------
Rails/ScopeArgs:
Description: Checks the arguments of ActiveRecord scopes.
Include:
- app/models/**/*.rb