2016-06-24 11:26:28 -04:00
|
|
|
require:
|
|
|
|
- rubocop-rspec
|
2017-08-03 22:20:34 -04:00
|
|
|
- rubocop-gitlab-security
|
2016-06-24 11:26:28 -04:00
|
|
|
- ./rubocop/rubocop
|
2016-05-21 19:27:15 -04:00
|
|
|
|
2016-06-29 12:00:22 -04:00
|
|
|
inherit_from: .rubocop_todo.yml
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
AllCops:
|
2017-02-07 09:16:46 -05:00
|
|
|
TargetRubyVersion: 2.3
|
2017-07-09 11:05:21 -04:00
|
|
|
TargetRailsVersion: 4.2
|
2016-09-01 13:50:45 -04:00
|
|
|
# Cop names are not d§splayed in offense messages by default. Change behavior
|
2016-03-20 22:49:12 -04:00
|
|
|
# by overriding DisplayCopNames, or by giving the -D/--display-cop-names
|
|
|
|
# option.
|
|
|
|
DisplayCopNames: true
|
|
|
|
# Style guide URLs are not displayed in offense messages by default. Change
|
|
|
|
# behavior by overriding DisplayStyleGuide, or by giving the
|
|
|
|
# -S/--display-style-guide option.
|
|
|
|
DisplayStyleGuide: false
|
|
|
|
# Exclude some GitLab files
|
|
|
|
Exclude:
|
|
|
|
- 'vendor/**/*'
|
2017-02-02 13:40:49 -05:00
|
|
|
- 'node_modules/**/*'
|
2016-06-09 08:39:16 -04:00
|
|
|
- 'db/*'
|
|
|
|
- 'db/fixtures/**/*'
|
2016-03-20 22:49:12 -04:00
|
|
|
- 'tmp/**/*'
|
|
|
|
- 'bin/**/*'
|
2016-05-19 16:32:07 -04:00
|
|
|
- 'generator_templates/**/*'
|
2017-02-28 07:13:01 -05:00
|
|
|
- 'builds/**/*'
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Gems in consecutive lines should be alphabetically sorted
|
2017-02-22 13:37:01 -05:00
|
|
|
Bundler/OrderedGems:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Layout ######################################################################
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Check indentation of private/protected visibility modifiers.
|
2017-07-09 11:05:21 -04:00
|
|
|
Layout/AccessModifierIndentation:
|
2015-02-02 23:57:10 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Align the elements of an array literal if they span more than one line.
|
2017-07-09 11:05:21 -04:00
|
|
|
Layout/AlignArray:
|
2015-02-02 23:58:28 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Align the elements of a hash literal if they span more than one line.
|
2017-07-09 11:05:21 -04:00
|
|
|
Layout/AlignHash:
|
2015-02-03 00:15:44 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Here we check if the parameters on a multi-line method call or
|
|
|
|
# definition are aligned.
|
2017-07-09 11:05:21 -04:00
|
|
|
Layout/AlignParameters:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
# Put end statement of multiline block on its own line.
|
|
|
|
Layout/BlockEndNewline:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Indentation of when in a case/when/[else/]end.
|
|
|
|
Layout/CaseIndentation:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Indentation of comments.
|
|
|
|
Layout/CommentIndentation:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Multi-line method chaining should be done with leading dots.
|
|
|
|
Layout/DotPosition:
|
|
|
|
Enabled: true
|
|
|
|
EnforcedStyle: leading
|
|
|
|
|
|
|
|
# Align elses and elsifs correctly.
|
|
|
|
Layout/ElseAlignment:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Add an empty line after magic comments to separate them from code.
|
|
|
|
Layout/EmptyLineAfterMagicComment:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
# Use empty lines between defs.
|
|
|
|
Layout/EmptyLineBetweenDefs:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Don't use several empty lines in a row.
|
|
|
|
Layout/EmptyLines:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Keep blank lines around access modifiers.
|
|
|
|
Layout/EmptyLinesAroundAccessModifier:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Keeps track of empty lines around block bodies.
|
|
|
|
Layout/EmptyLinesAroundBlockBody:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Keeps track of empty lines around class bodies.
|
|
|
|
Layout/EmptyLinesAroundClassBody:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Keeps track of empty lines around exception handling keywords.
|
|
|
|
Layout/EmptyLinesAroundExceptionHandlingKeywords:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
# Keeps track of empty lines around method bodies.
|
|
|
|
Layout/EmptyLinesAroundMethodBody:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Keeps track of empty lines around module bodies.
|
|
|
|
Layout/EmptyLinesAroundModuleBody:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Use Unix-style line endings.
|
|
|
|
Layout/EndOfLine:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Checks for a line break before the first parameter in a multi-line method
|
|
|
|
# parameter definition.
|
|
|
|
Layout/FirstMethodParameterLineBreak:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Keep indentation straight.
|
|
|
|
Layout/IndentationConsistency:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Use 2 spaces for indentation.
|
|
|
|
Layout/IndentationWidth:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Checks the indentation of the first line of the right-hand-side of a
|
|
|
|
# multi-line assignment.
|
|
|
|
Layout/IndentAssignment:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# This cops checks the indentation of the here document bodies.
|
|
|
|
Layout/IndentHeredoc:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
# Comments should start with a space.
|
|
|
|
Layout/LeadingCommentSpace:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Checks that the closing brace in an array literal is either on the same line
|
|
|
|
# as the last array element, or a new line.
|
|
|
|
Layout/MultilineArrayBraceLayout:
|
|
|
|
Enabled: true
|
|
|
|
EnforcedStyle: symmetrical
|
|
|
|
|
|
|
|
# Ensures newlines after multiline block do statements.
|
|
|
|
Layout/MultilineBlockLayout:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Checks that the closing brace in a hash literal is either on the same line as
|
|
|
|
# the last hash element, or a new line.
|
|
|
|
Layout/MultilineHashBraceLayout:
|
|
|
|
Enabled: true
|
|
|
|
EnforcedStyle: symmetrical
|
|
|
|
|
|
|
|
# Checks that the closing brace in a method call is either on the same line as
|
|
|
|
# the last method argument, or a new line.
|
|
|
|
Layout/MultilineMethodCallBraceLayout:
|
|
|
|
Enabled: false
|
|
|
|
EnforcedStyle: symmetrical
|
|
|
|
|
|
|
|
# Checks indentation of method calls with the dot operator that span more than
|
|
|
|
# one line.
|
|
|
|
Layout/MultilineMethodCallIndentation:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
# Checks that the closing brace in a method definition is symmetrical with
|
|
|
|
# respect to the opening brace and the method parameters.
|
|
|
|
Layout/MultilineMethodDefinitionBraceLayout:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
# Checks indentation of binary operations that span more than one line.
|
|
|
|
Layout/MultilineOperationIndentation:
|
|
|
|
Enabled: true
|
|
|
|
EnforcedStyle: indented
|
|
|
|
|
|
|
|
# Use spaces after colons.
|
|
|
|
Layout/SpaceAfterColon:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Use spaces after commas.
|
|
|
|
Layout/SpaceAfterComma:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Do not put a space between a method name and the opening parenthesis in a
|
|
|
|
# method definition.
|
|
|
|
Layout/SpaceAfterMethodName:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Tracks redundant space after the ! operator.
|
|
|
|
Layout/SpaceAfterNot:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Use spaces after semicolons.
|
|
|
|
Layout/SpaceAfterSemicolon:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Use space around equals in parameter default
|
|
|
|
Layout/SpaceAroundEqualsInParameterDefault:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Use a space around keywords if appropriate.
|
|
|
|
Layout/SpaceAroundKeyword:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Use a single space around operators.
|
|
|
|
Layout/SpaceAroundOperators:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-08-09 05:52:22 -04:00
|
|
|
# Checks that block braces have or don't have a space before the opening
|
|
|
|
# brace depending on configuration.
|
|
|
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
|
|
# SupportedStyles: space, no_space
|
|
|
|
Layout/SpaceBeforeBlockBraces:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# No spaces before commas.
|
|
|
|
Layout/SpaceBeforeComma:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Checks for missing space between code and a comment on the same line.
|
|
|
|
Layout/SpaceBeforeComment:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# No spaces before semicolons.
|
|
|
|
Layout/SpaceBeforeSemicolon:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Checks for spaces inside square brackets.
|
|
|
|
Layout/SpaceInsideBrackets:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Use spaces inside hash literal braces - or don't.
|
|
|
|
Layout/SpaceInsideHashLiteralBraces:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# No spaces inside range literals.
|
|
|
|
Layout/SpaceInsideRangeLiteral:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Checks for padding/surrounding spaces inside string interpolation.
|
|
|
|
Layout/SpaceInsideStringInterpolation:
|
|
|
|
EnforcedStyle: no_space
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# No hard tabs.
|
|
|
|
Layout/Tab:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Checks trailing blank lines and final newline.
|
|
|
|
Layout/TrailingBlankLines:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-08-15 13:44:37 -04:00
|
|
|
# Avoid trailing whitespace.
|
|
|
|
Layout/TrailingWhitespace:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Style #######################################################################
|
|
|
|
|
|
|
|
# Check the naming of accessor methods for get_/set_.
|
|
|
|
Style/AccessorMethodName:
|
2017-02-22 13:37:01 -05:00
|
|
|
Enabled: false
|
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Use alias_method instead of alias.
|
|
|
|
Style/Alias:
|
|
|
|
EnforcedStyle: prefer_alias_method
|
|
|
|
Enabled: true
|
|
|
|
|
2017-02-21 17:31:14 -05:00
|
|
|
# Whether `and` and `or` are banned only in conditionals (conditionals)
|
|
|
|
# or completely (always).
|
|
|
|
Style/AndOr:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use `Array#join` instead of `Array#*`.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/ArrayJoin:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use only ascii symbols in comments.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/AsciiComments:
|
2015-02-03 00:20:34 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use only ascii symbols in identifiers.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/AsciiIdentifiers:
|
2015-02-03 00:20:34 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for uses of Module#attr.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/Attr:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid the use of BEGIN blocks.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/BeginBlock:
|
2015-02-03 00:31:03 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Do not use block comments.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/BlockComments:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid using {...} for multi-line blocks (multiline chaining is # always
|
|
|
|
# ugly). Prefer {...} over do...end for single-line blocks.
|
2015-12-14 15:10:27 -05:00
|
|
|
Style/BlockDelimiters:
|
2015-02-03 00:22:57 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for braces around the last parameter in a method call
|
|
|
|
# if the last parameter is a hash.
|
2017-02-22 13:37:01 -05:00
|
|
|
Style/BracesAroundHashParameters:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for uses of the case equality operator(===).
|
2017-02-22 13:37:01 -05:00
|
|
|
Style/CaseEquality:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for uses of character literals.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/CharacterLiteral:
|
2015-02-03 00:31:03 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use CamelCase for classes and modules.'
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/ClassAndModuleCamelCase:
|
2015-02-03 00:31:03 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks style of children classes and modules.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/ClassAndModuleChildren:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/ClassCheck:
|
2017-02-22 12:25:50 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use self when defining module/class methods.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/ClassMethods:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid the use of class variables.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/ClassVars:
|
2015-02-03 00:31:03 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for methods invoked via the :: operator instead
|
|
|
|
# of the . operator (like FileUtils::rmdir instead of FileUtils.rmdir).
|
2017-02-22 13:37:01 -05:00
|
|
|
Style/ColonMethodCall:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks that comment annotation keywords are written according
|
|
|
|
# to guidelines.
|
2017-02-22 13:37:01 -05:00
|
|
|
Style/CommentAnnotation:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Check for `if` and `case` statements where each branch is used for
|
|
|
|
# assignment to the same variable when using the return of the
|
|
|
|
# condition can be used instead.
|
2017-02-22 13:37:01 -05:00
|
|
|
Style/ConditionalAssignment:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Constants should use SCREAMING_SNAKE_CASE.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/ConstantName:
|
2015-02-03 00:38:50 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use def with parentheses when there are arguments.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/DefWithParentheses:
|
2016-05-23 13:06:36 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Document classes and non-namespace modules.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/Documentation:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for uses of double negation (!!) to convert something
|
|
|
|
# to a boolean value. As this is both cryptic and usually redundant, it
|
|
|
|
# should be avoided.
|
2017-02-22 13:37:01 -05:00
|
|
|
Style/DoubleNegation:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid the use of END blocks.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/EndBlock:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Favor the use of Fixnum#even? && Fixnum#odd?
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/EvenOdd:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use snake_case for source file names.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/FileName:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for flip flops.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/FlipFlop:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks use of for or each in multiline loops.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/For:
|
2016-06-01 05:18:11 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Use a consistent style for format string tokens.
|
|
|
|
Style/FormatStringToken:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-09-01 13:50:45 -04:00
|
|
|
# Checks if there is a magic comment to enforce string literals
|
|
|
|
Style/FrozenStringLiteralComment:
|
|
|
|
Enabled: false
|
2017-02-22 12:35:20 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Do not introduce global variables.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/GlobalVars:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2017-02-22 13:18:40 -05:00
|
|
|
Exclude:
|
|
|
|
- 'lib/backup/**/*'
|
|
|
|
- 'lib/tasks/**/*'
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Prefer Ruby 1.9 hash syntax `{ a: 1, b: 2 }`
|
|
|
|
# over 1.8 syntax `{ :a => 1, :b => 2 }`.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/HashSyntax:
|
2015-02-02 22:30:09 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks that conditional statements do not have an identical line at the
|
|
|
|
# end of each branch, which can validly be moved out of the conditional.
|
|
|
|
Style/IdenticalConditionalBranches:
|
2016-06-30 07:20:15 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-02-22 13:37:01 -05:00
|
|
|
# Do not use if x; .... Use the ternary operator instead.
|
|
|
|
Style/IfWithSemicolon:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use Kernel#loop for infinite loops.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/InfiniteLoop:
|
2016-05-23 13:43:58 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Use the inverse method instead of `!.method`
|
|
|
|
# if an inverse method is defined.
|
|
|
|
Style/InverseMethods:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use lambda.call(...) instead of lambda.(...).
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/LambdaCall:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks if the method definitions have or don't have parentheses.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/MethodDefParentheses:
|
2016-05-30 06:08:53 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use the configured style when naming methods.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/MethodName:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-07-05 12:33:50 -04:00
|
|
|
# Checks for usage of `extend self` in modules.
|
|
|
|
Style/ModuleFunction:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid multi-line chains of blocks.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/MultilineBlockChain:
|
2016-05-30 05:05:17 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Do not use then for multi-line if/unless.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/MultilineIfThen:
|
2016-05-30 06:18:27 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-05-30 08:06:06 -04:00
|
|
|
# Avoid multi-line `? :` (the ternary operator), use if/unless instead.
|
|
|
|
Style/MultilineTernaryOperator:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Avoid comparing a variable with multiple items in a conditional,
|
|
|
|
# use Array#include? instead.
|
|
|
|
Style/MultipleComparison:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks whether some constant value isn't a
|
|
|
|
# mutable literal (e.g. array or hash).
|
2017-02-21 18:32:18 -05:00
|
|
|
Style/MutableConstant:
|
|
|
|
Enabled: true
|
2017-02-22 17:34:45 -05:00
|
|
|
Exclude:
|
|
|
|
- 'db/migrate/**/*'
|
|
|
|
- 'db/post_migrate/**/*'
|
2017-02-21 18:32:18 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Favor unless over if for negative conditions (or control flow or).
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/NegatedIf:
|
2016-05-30 07:46:47 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid using nested modifiers.
|
|
|
|
Style/NestedModifier:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Use one expression per branch in a ternary operator.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/NestedTernaryOperator:
|
2015-03-24 21:28:10 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Prefer x.nil? to x == nil.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/NilComparison:
|
2015-03-24 21:28:10 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for redundant nil checks.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/NonNilCheck:
|
2015-03-24 21:28:10 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use ! instead of not.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/Not:
|
2015-03-24 21:28:10 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Add underscores to large numeric literals to improve their readability.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/NumericLiterals:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Favor the ternary operator(?:) over if/then/else/end constructs.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/OneLineConditional:
|
2015-03-24 21:28:10 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# When defining binary operators, name the argument other.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/OpMethod:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Don't use parentheses around the condition of an if/unless/while.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/ParenthesesAroundCondition:
|
2015-03-24 21:28:10 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-06-02 13:11:26 -04:00
|
|
|
# This cop (by default) checks for uses of methods Hash#has_key? and
|
|
|
|
# Hash#has_value? where it enforces Hash#key? and Hash#value?
|
|
|
|
# It is configurable to enforce the inverse, using `verbose` method
|
|
|
|
# names also.
|
|
|
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
|
|
# SupportedStyles: short, verbose
|
|
|
|
Style/PreferredHashMethods:
|
2017-06-09 13:07:58 -04:00
|
|
|
Enabled: false
|
2017-06-02 13:11:26 -04:00
|
|
|
|
2016-11-30 02:34:29 -05:00
|
|
|
# Checks for an obsolete RuntimeException argument in raise/fail.
|
|
|
|
Style/RedundantException:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for parentheses that seem not to serve any purpose.
|
|
|
|
Style/RedundantParentheses:
|
2016-05-30 09:07:18 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Don't use semicolons to terminate expressions.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/Semicolon:
|
2016-05-30 05:55:00 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for proper usage of fail and raise.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/SignalException:
|
2016-05-25 00:06:09 -04:00
|
|
|
EnforcedStyle: only_raise
|
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Check for the usage of parentheses around stabby lambda arguments.
|
|
|
|
Style/StabbyLambdaParentheses:
|
2016-05-25 00:06:09 -04:00
|
|
|
EnforcedStyle: require_parentheses
|
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Checks if uses of quotes match the configured preference.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/StringLiterals:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks if configured preferred methods are used over non-preferred.
|
|
|
|
Style/StringMethods:
|
2016-05-25 00:06:09 -04:00
|
|
|
PreferredMethods:
|
|
|
|
intern: to_sym
|
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Use %i or %I for arrays of symbols.
|
|
|
|
Style/SymbolArray:
|
|
|
|
Enabled: false
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for trailing comma in array and hash literals.
|
2017-02-21 18:34:50 -05:00
|
|
|
Style/TrailingCommaInLiteral:
|
2017-05-03 07:22:03 -04:00
|
|
|
Enabled: true
|
|
|
|
EnforcedStyleForMultiline: no_comma
|
2017-02-21 18:34:50 -05:00
|
|
|
|
2017-05-03 07:27:17 -04:00
|
|
|
# This cop checks for trailing comma in argument lists.
|
|
|
|
Style/TrailingCommaInArguments:
|
|
|
|
Enabled: true
|
|
|
|
EnforcedStyleForMultiline: no_comma
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for %W when interpolation is not needed.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/UnneededCapitalW:
|
2016-06-30 07:31:52 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for %q/%Q when single quotes or double quotes would do.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/UnneededPercentQ:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Don't interpolate global, instance and class variables directly in strings.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/VariableInterpolation:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use the configured style when naming variables.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/VariableName:
|
2016-05-25 00:06:09 -04:00
|
|
|
EnforcedStyle: snake_case
|
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-10-04 07:28:01 -04:00
|
|
|
# Use the configured style when numbering variables.
|
|
|
|
Style/VariableNumber:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use when x then ... for one-line cases.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/WhenThen:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for redundant do after while or until.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/WhileUntilDo:
|
2016-05-30 05:37:14 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Favor modifier while/until usage when you have a single-line body.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/WhileUntilModifier:
|
2016-05-25 00:06:09 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use %w or %W for arrays of words.
|
2015-02-02 22:11:45 -05:00
|
|
|
Style/WordArray:
|
2017-02-22 12:46:57 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Do not use literals as the first operand of a comparison.
|
|
|
|
Style/YodaCondition:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-03-31 11:11:28 -04:00
|
|
|
# Use `proc` instead of `Proc.new`.
|
|
|
|
Style/Proc:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-08-29 04:51:15 -04:00
|
|
|
# Use `spam?` instead of `is_spam?`
|
|
|
|
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
|
|
|
|
# NamePrefix: is_, has_, have_
|
|
|
|
# NamePrefixBlacklist: is_, has_, have_
|
|
|
|
# NameWhitelist: is_a?
|
|
|
|
Style/PredicateName:
|
|
|
|
Enabled: true
|
|
|
|
NamePrefixBlacklist: is_
|
|
|
|
Exclude:
|
|
|
|
- 'spec/**/*'
|
|
|
|
- 'features/**/*'
|
|
|
|
|
2017-02-08 16:22:36 -05:00
|
|
|
# Metrics #####################################################################
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# A calculated magnitude based on number of assignments,
|
|
|
|
# branches, and conditions.
|
2015-02-02 22:11:45 -05:00
|
|
|
Metrics/AbcSize:
|
2015-11-14 14:19:38 -05:00
|
|
|
Enabled: true
|
2017-08-31 06:58:05 -04:00
|
|
|
Max: 55.25
|
2015-11-14 14:19:38 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks if the length of a block exceeds some maximum value.
|
2017-02-22 13:37:01 -05:00
|
|
|
Metrics/BlockLength:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid excessive block nesting.
|
2015-02-02 22:11:45 -05:00
|
|
|
Metrics/BlockNesting:
|
2015-11-14 14:19:38 -05:00
|
|
|
Enabled: true
|
|
|
|
Max: 4
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid classes longer than 100 lines of code.
|
2015-02-02 22:11:45 -05:00
|
|
|
Metrics/ClassLength:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# A complexity metric that is strongly correlated to the number
|
|
|
|
# of test cases needed to validate a method.
|
|
|
|
Metrics/CyclomaticComplexity:
|
|
|
|
Enabled: true
|
2017-08-31 17:43:13 -04:00
|
|
|
Max: 14
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Limit lines to 80 characters.
|
2015-02-02 22:11:45 -05:00
|
|
|
Metrics/LineLength:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid methods longer than 10 lines of code.
|
2015-02-02 22:11:45 -05:00
|
|
|
Metrics/MethodLength:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid modules longer than 100 lines of code.
|
2015-12-14 15:10:27 -05:00
|
|
|
Metrics/ModuleLength:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid parameter lists longer than three or four parameters.
|
|
|
|
Metrics/ParameterLists:
|
|
|
|
Enabled: true
|
|
|
|
Max: 8
|
|
|
|
|
|
|
|
# A complexity metric geared towards measuring complexity for a human reader.
|
|
|
|
Metrics/PerceivedComplexity:
|
|
|
|
Enabled: true
|
2017-08-31 03:51:28 -04:00
|
|
|
Max: 17
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-02-08 16:22:36 -05:00
|
|
|
# Lint ########################################################################
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Checks for ambiguous block association with method when param passed without
|
|
|
|
# parentheses.
|
|
|
|
Lint/AmbiguousBlockAssociation:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for ambiguous operators in the first argument of a method invocation
|
|
|
|
# without parentheses.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/AmbiguousOperator:
|
2016-06-03 04:59:43 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for ambiguous regexp literals in the first argument of
|
|
|
|
# a method invocation without parentheses.
|
2017-02-22 13:37:01 -05:00
|
|
|
Lint/AmbiguousRegexpLiteral:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for assignments in the conditions of
|
|
|
|
# if/while/until.
|
2017-02-22 13:37:01 -05:00
|
|
|
Lint/AssignmentInCondition:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Align block ends correctly.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/BlockAlignment:
|
2016-05-30 04:24:02 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Default values in optional keyword arguments and optional ordinal arguments
|
|
|
|
# should not refer back to the name of the argument.
|
|
|
|
Lint/CircularArgumentReference:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Checks for condition placed in a confusing position relative to the keyword.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/ConditionPosition:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Check for debugger calls.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/Debugger:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Align ends corresponding to defs correctly.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/DefEndAlignment:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Check for deprecated class method calls.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/DeprecatedClassMethods:
|
2016-05-08 17:33:34 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Check for immutable argument given to each_with_object.
|
|
|
|
Lint/EachWithObjectArgument:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Check for odd code arrangement in an else block.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/ElseLayout:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for empty ensure block.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/EmptyEnsure:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-10 15:26:23 -05:00
|
|
|
# Checks for the presence of `when` branches without a body.
|
|
|
|
Lint/EmptyWhen:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Align ends correctly.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/EndAlignment:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# END blocks should not be placed inside method definitions.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/EndInMethod:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Do not use return in an ensure block.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/EnsureReturn:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Catches floating-point literals too large or small for Ruby to represent.
|
|
|
|
Lint/FloatOutOfRange:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# The number of parameters to format/sprint must match the fields.
|
|
|
|
Lint/FormatParameterMismatch:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for *rescue* blocks with no body.
|
2017-02-22 13:37:01 -05:00
|
|
|
Lint/HandleExceptions:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for adjacent string literals on the same line, which could better be
|
|
|
|
# represented as a single string literal.
|
|
|
|
Lint/ImplicitStringConcatenation:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-02-22 13:37:01 -05:00
|
|
|
# Checks for attempts to use `private` or `protected` to set the visibility
|
|
|
|
# of a class method, which does not work.
|
|
|
|
Lint/IneffectiveAccessModifier:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for invalid character literals with a non-escaped whitespace
|
|
|
|
# character.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/InvalidCharacterLiteral:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks of literals used in conditions.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/LiteralInCondition:
|
2016-05-30 06:34:25 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for literals used in interpolation.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/LiteralInInterpolation:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for uses of *begin...end while/until something*.
|
2017-02-22 13:37:01 -05:00
|
|
|
Lint/Loop:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Do not use nested method definitions.
|
|
|
|
Lint/NestedMethodDefinition:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Do not omit the accumulator when calling `next` in a `reduce`/`inject` block.
|
|
|
|
Lint/NextWithoutAccumulator:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Checks for method calls with a space before the opening parenthesis.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/ParenthesesAsGroupedExpression:
|
2015-03-02 21:45:28 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for `rand(1)` calls. Such calls always return `0` and most likely
|
|
|
|
# a mistake.
|
|
|
|
Lint/RandOne:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Use parentheses in the method call to avoid confusion about precedence.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/RequireParentheses:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Avoid rescuing the Exception class.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/RescueException:
|
2015-11-24 16:18:14 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-07-03 16:18:39 -04:00
|
|
|
# Checks for the order which exceptions are rescued to avoid rescueing a less specific exception before a more specific exception.
|
|
|
|
Lint/ShadowedException:
|
2015-02-02 22:11:45 -05:00
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop looks for use of the same name as outer local variables
|
|
|
|
# for block arguments or block local variables.
|
2017-02-22 13:37:01 -05:00
|
|
|
Lint/ShadowingOuterLocalVariable:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-10-03 10:09:57 -04:00
|
|
|
# Checks for Object#to_s usage in string interpolation.
|
|
|
|
Lint/StringConversionInInterpolation:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Do not use prefix `_` for a variable that is used.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/UnderscorePrefixedVariableName:
|
2015-02-03 00:53:27 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for using Fixnum or Bignum constant
|
2017-02-22 13:37:01 -05:00
|
|
|
Lint/UnifiedInteger:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for rubocop:disable comments that can be removed.
|
|
|
|
# Note: this cop is not disabled when disabling all cops.
|
|
|
|
# It must be explicitly disabled.
|
|
|
|
Lint/UnneededDisable:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for unneeded usages of splat expansion
|
2017-02-22 13:37:01 -05:00
|
|
|
Lint/UnneededSplatExpansion:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Unreachable code.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/UnreachableCode:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for unused block arguments.
|
2017-02-22 13:37:01 -05:00
|
|
|
Lint/UnusedBlockArgument:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for unused method arguments.
|
2017-02-21 18:35:12 -05:00
|
|
|
Lint/UnusedMethodArgument:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 13:37:01 -05:00
|
|
|
# Checks for useless access modifiers.
|
|
|
|
Lint/UselessAccessModifier:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for useless assignment to a local variable.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/UselessAssignment:
|
2015-10-03 01:56:16 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for comparison of something with itself.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/UselessComparison:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for useless `else` in `begin..end` without `rescue`.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/UselessElseWithoutRescue:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for useless setter call to a local variable.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/UselessSetterCall:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Possible use of operator/literal/variable in void context.
|
2015-02-02 22:11:45 -05:00
|
|
|
Lint/Void:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-08 16:22:36 -05:00
|
|
|
# Performance #################################################################
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Use `caller(n..n)` instead of `caller`.
|
|
|
|
Performance/Caller:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use `casecmp` rather than `downcase ==`.
|
|
|
|
Performance/Casecmp:
|
2016-04-27 18:52:32 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Use `str.{start,end}_with?(x, ..., y, ...)` instead of
|
|
|
|
# `str.{start,end}_with?(x, ...) || str.{start,end}_with?(y, ...)`.
|
|
|
|
Performance/DoubleStartEndWith:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Use `strip` instead of `lstrip.rstrip`.
|
|
|
|
Performance/LstripRstrip:
|
2016-04-27 20:05:57 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Use `Range#cover?` instead of `Range#include?`.
|
|
|
|
Performance/RangeInclude:
|
2016-05-23 13:10:42 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop identifies the use of a `&block` parameter and `block.call`
|
|
|
|
# where `yield` would do just as well.
|
2017-02-22 13:37:01 -05:00
|
|
|
Performance/RedundantBlockCall:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop identifies use of `Regexp#match` or `String#match in a context
|
|
|
|
# where the integral return value of `=~` would do just as well.
|
2017-02-22 13:37:01 -05:00
|
|
|
Performance/RedundantMatch:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop identifies places where `Hash#merge!` can be replaced by
|
|
|
|
# `Hash#[]=`.
|
2017-02-22 13:37:01 -05:00
|
|
|
Performance/RedundantMerge:
|
|
|
|
Enabled: true
|
|
|
|
MaxKeyValuePairs: 1
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use `sort` instead of `sort_by { |x| x }`.
|
|
|
|
Performance/RedundantSortBy:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Use `start_with?` instead of a regex match anchored to the beginning of a
|
|
|
|
# string.
|
|
|
|
Performance/StartWith:
|
2016-05-23 13:21:02 -04:00
|
|
|
Enabled: true
|
2016-04-27 20:22:46 -04:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Use `tr` instead of `gsub` when you are replacing the same number of
|
|
|
|
# characters. Use `delete` instead of `gsub` when you are deleting
|
|
|
|
# characters.
|
|
|
|
Performance/StringReplacement:
|
2016-04-27 20:22:46 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Checks for `.times.map` calls.
|
|
|
|
Performance/TimesMap:
|
2016-05-30 08:21:26 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-02-22 13:37:01 -05:00
|
|
|
# Security ####################################################################
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for the use of JSON class methods which have potential
|
|
|
|
# security issues.
|
2017-02-22 13:37:01 -05:00
|
|
|
Security/JSONLoad:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-02-22 13:43:48 -05:00
|
|
|
# This cop checks for the use of *Kernel#eval*.
|
|
|
|
Security/Eval:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-02-08 16:22:36 -05:00
|
|
|
# Rails #######################################################################
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Enables Rails cops.
|
|
|
|
Rails:
|
|
|
|
Enabled: true
|
|
|
|
|
|
|
|
# Enforces consistent use of action filter methods.
|
2015-02-02 22:11:45 -05:00
|
|
|
Rails/ActionFilter:
|
2015-04-16 08:03:37 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
EnforcedStyle: action
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Check that models subclass ApplicationRecord.
|
|
|
|
Rails/ApplicationRecord:
|
|
|
|
Enabled: false
|
|
|
|
|
|
|
|
# Enforce using `blank?` and `present?`.
|
|
|
|
Rails/Blank:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks the correct usage of date aware methods, such as `Date.today`,
|
|
|
|
# `Date.current`, etc.
|
2015-12-14 21:54:26 -05:00
|
|
|
Rails/Date:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Prefer delegate method for delegations.
|
2017-08-03 02:52:47 -04:00
|
|
|
# Disabled per https://gitlab.com/gitlab-org/gitlab-ce/issues/35869
|
2016-03-20 22:49:12 -04:00
|
|
|
Rails/Delegate:
|
2017-08-03 02:52:47 -04:00
|
|
|
Enabled: false
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks dynamic `find_by_*` methods.
|
2017-02-22 13:37:01 -05:00
|
|
|
Rails/DynamicFindBy:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop enforces that 'exit' calls are not used within a rails app.
|
2017-02-22 13:37:01 -05:00
|
|
|
Rails/Exit:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- lib/gitlab/upgrader.rb
|
|
|
|
- 'lib/backup/**/*'
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Prefer `find_by` over `where.first`.
|
|
|
|
Rails/FindBy:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
|
|
|
# Prefer `all.find_each` over `all.find`.
|
|
|
|
Rails/FindEach:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Prefer has_many :through to has_and_belongs_to_many.
|
2015-02-02 22:11:45 -05:00
|
|
|
Rails/HasAndBelongsToMany:
|
2015-02-03 00:53:27 -05:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop is used to identify usages of http methods like `get`, `post`,
|
|
|
|
# `put`, `patch` without the usage of keyword arguments in your tests and
|
|
|
|
# change them to use keyword args.
|
2017-02-22 13:37:01 -05:00
|
|
|
Rails/HttpPositionalArguments:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for calls to puts, print, etc.
|
2015-02-02 22:11:45 -05:00
|
|
|
Rails/Output:
|
2015-02-03 00:41:38 -05:00
|
|
|
Enabled: true
|
2017-02-22 13:18:40 -05:00
|
|
|
Exclude:
|
|
|
|
- lib/gitlab/seeder.rb
|
|
|
|
- lib/gitlab/upgrader.rb
|
|
|
|
- 'lib/backup/**/*'
|
|
|
|
- 'lib/tasks/**/*'
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for the use of output safety calls like html_safe and
|
|
|
|
# raw.
|
2017-02-22 13:37:01 -05:00
|
|
|
Rails/OutputSafety:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for incorrect grammar when using methods like `3.day.ago`.
|
|
|
|
Rails/PluralizationGrammar:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2016-03-20 22:49:12 -04:00
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Enforce using `blank?` and `present?`.
|
|
|
|
Rails/Present:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks for `read_attribute(:attr)` and `write_attribute(:attr, val)`.
|
2015-02-02 22:11:45 -05:00
|
|
|
Rails/ReadWriteAttribute:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-07-09 11:05:21 -04:00
|
|
|
# Do not assign relative date to constants.
|
|
|
|
Rails/RelativeDateConstant:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-03-20 22:49:12 -04:00
|
|
|
# Checks the arguments of ActiveRecord scopes.
|
2015-02-02 22:11:45 -05:00
|
|
|
Rails/ScopeArgs:
|
2016-05-23 14:32:19 -04:00
|
|
|
Enabled: true
|
2015-02-02 22:11:45 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for the use of Time methods without zone.
|
2017-02-22 13:37:01 -05:00
|
|
|
Rails/TimeZone:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# This cop checks for the use of old-style attribute validation macros.
|
2017-02-22 13:37:01 -05:00
|
|
|
Rails/Validation:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-02-08 16:22:36 -05:00
|
|
|
# RSpec #######################################################################
|
2016-05-21 19:27:15 -04:00
|
|
|
|
2016-05-23 16:20:53 -04:00
|
|
|
# Check that instances are not being stubbed globally.
|
2016-05-21 19:27:15 -04:00
|
|
|
RSpec/AnyInstance:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-11-30 02:07:42 -05:00
|
|
|
# Check for expectations where `be(...)` can replace `eql(...)`.
|
|
|
|
RSpec/BeEql:
|
2017-02-23 10:04:34 -05:00
|
|
|
Enabled: true
|
2016-11-30 02:07:42 -05:00
|
|
|
|
2017-06-29 12:03:17 -04:00
|
|
|
# We don't enforce this as we use this technique in a few places.
|
|
|
|
RSpec/BeforeAfterAll:
|
|
|
|
Enabled: false
|
|
|
|
|
2016-09-21 07:32:25 -04:00
|
|
|
# Check that the first argument to the top level describe is the tested class or
|
|
|
|
# module.
|
2016-05-21 19:27:15 -04:00
|
|
|
RSpec/DescribeClass:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-08-08 04:46:25 -04:00
|
|
|
# Checks that the second argument to `describe` specifies a method.
|
2016-05-21 19:27:15 -04:00
|
|
|
RSpec/DescribeMethod:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-04-07 20:23:13 -04:00
|
|
|
# Avoid describing symbols.
|
|
|
|
RSpec/DescribeSymbol:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-08-08 04:46:25 -04:00
|
|
|
# Checks that tests use `described_class`.
|
2016-09-21 07:32:25 -04:00
|
|
|
RSpec/DescribedClass:
|
2017-04-25 18:07:09 -04:00
|
|
|
Enabled: true
|
2016-05-21 19:27:15 -04:00
|
|
|
|
2017-05-19 06:13:15 -04:00
|
|
|
# Checks if an example group does not include any tests.
|
2017-05-18 12:25:50 -04:00
|
|
|
RSpec/EmptyExampleGroup:
|
|
|
|
Enabled: true
|
|
|
|
CustomIncludeMethods:
|
|
|
|
- run_permission_checks
|
|
|
|
|
2016-09-21 07:32:25 -04:00
|
|
|
# Checks for long example.
|
2016-05-21 19:27:15 -04:00
|
|
|
RSpec/ExampleLength:
|
|
|
|
Enabled: false
|
|
|
|
Max: 5
|
|
|
|
|
2016-09-21 07:32:25 -04:00
|
|
|
# Do not use should when describing your tests.
|
2016-05-21 19:27:15 -04:00
|
|
|
RSpec/ExampleWording:
|
|
|
|
Enabled: false
|
|
|
|
CustomTransform:
|
|
|
|
be: is
|
|
|
|
have: has
|
|
|
|
not: does not
|
|
|
|
IgnoredWords: []
|
|
|
|
|
2016-11-30 02:13:42 -05:00
|
|
|
# Checks for `expect(...)` calls containing literal values.
|
|
|
|
RSpec/ExpectActual:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-05-19 06:13:15 -04:00
|
|
|
# Checks for opportunities to use `expect { … }.to output`.
|
2017-05-18 12:56:26 -04:00
|
|
|
RSpec/ExpectOutput:
|
|
|
|
Enabled: true
|
|
|
|
|
2016-05-23 16:20:53 -04:00
|
|
|
# Checks the file and folder naming of the spec file.
|
2016-05-21 19:27:15 -04:00
|
|
|
RSpec/FilePath:
|
2017-04-25 08:28:55 -04:00
|
|
|
Enabled: true
|
|
|
|
IgnoreMethods: true
|
|
|
|
Exclude:
|
|
|
|
- 'qa/**/*'
|
|
|
|
- 'spec/javascripts/fixtures/*'
|
|
|
|
- 'spec/requests/api/v3/*'
|
2016-05-21 19:27:15 -04:00
|
|
|
|
2016-05-23 16:20:53 -04:00
|
|
|
# Checks if there are focused specs.
|
2016-05-21 19:27:15 -04:00
|
|
|
RSpec/Focus:
|
|
|
|
Enabled: true
|
|
|
|
|
2017-08-10 18:31:42 -04:00
|
|
|
# Checks the arguments passed to `before`, `around`, and `after`.
|
|
|
|
RSpec/HookArgument:
|
|
|
|
Enabled: true
|
|
|
|
EnforcedStyle: implicit
|
|
|
|
|
2017-06-29 12:03:17 -04:00
|
|
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
|
|
# SupportedStyles: is_expected, should
|
|
|
|
RSpec/ImplicitExpect:
|
|
|
|
Enabled: true
|
|
|
|
EnforcedStyle: is_expected
|
|
|
|
|
2016-05-23 16:20:53 -04:00
|
|
|
# Checks for the usage of instance variables.
|
2016-05-21 19:27:15 -04:00
|
|
|
RSpec/InstanceVariable:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Checks for `subject` definitions that come after `let` definitions.
|
2017-02-21 18:41:04 -05:00
|
|
|
RSpec/LeadingSubject:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Checks unreferenced `let!` calls being used for test setup.
|
2017-02-21 18:41:04 -05:00
|
|
|
RSpec/LetSetup:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Check that chains of messages are not being stubbed.
|
2017-02-21 18:41:04 -05:00
|
|
|
RSpec/MessageChain:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Checks that message expectations are set using spies.
|
2017-02-21 18:41:04 -05:00
|
|
|
RSpec/MessageSpies:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 13:37:01 -05:00
|
|
|
# Checks for multiple top-level describes.
|
|
|
|
RSpec/MultipleDescribes:
|
2017-02-21 18:45:20 -05:00
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Checks if examples contain too many `expect` calls.
|
2017-02-22 13:37:01 -05:00
|
|
|
RSpec/MultipleExpectations:
|
2017-02-21 19:35:45 -05:00
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Checks for explicitly referenced test subjects.
|
2017-02-22 13:37:01 -05:00
|
|
|
RSpec/NamedSubject:
|
2017-02-21 18:45:20 -05:00
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Checks for nested example groups.
|
2017-02-22 13:37:01 -05:00
|
|
|
RSpec/NestedGroups:
|
2017-02-21 18:45:20 -05:00
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 13:37:01 -05:00
|
|
|
# Enforces the usage of the same method on all negative message expectations.
|
|
|
|
RSpec/NotToNot:
|
|
|
|
EnforcedStyle: not_to
|
2017-02-21 19:47:39 -05:00
|
|
|
Enabled: true
|
2017-02-21 19:50:26 -05:00
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Check for repeated description strings in example groups.
|
2017-02-22 13:37:01 -05:00
|
|
|
RSpec/RepeatedDescription:
|
2017-02-21 18:45:20 -05:00
|
|
|
Enabled: false
|
|
|
|
|
2017-02-08 17:09:16 -05:00
|
|
|
# Ensure RSpec hook blocks are always multi-line.
|
|
|
|
RSpec/SingleLineHook:
|
2017-06-06 10:34:53 -04:00
|
|
|
Enabled: true
|
2017-02-08 17:09:16 -05:00
|
|
|
Exclude:
|
|
|
|
- 'spec/factories/*'
|
|
|
|
- 'spec/requests/api/v3/*'
|
|
|
|
|
2017-02-22 14:01:31 -05:00
|
|
|
# Checks for stubbed test subjects.
|
2017-02-22 13:37:01 -05:00
|
|
|
RSpec/SubjectStub:
|
2017-02-21 18:45:20 -05:00
|
|
|
Enabled: false
|
|
|
|
|
2017-02-22 13:37:01 -05:00
|
|
|
# Prefer using verifying doubles over normal doubles.
|
|
|
|
RSpec/VerifiedDoubles:
|
2017-02-21 18:45:20 -05:00
|
|
|
Enabled: false
|
2017-08-03 22:20:34 -04:00
|
|
|
|
|
|
|
# GitlabSecurity ##############################################################
|
|
|
|
|
|
|
|
GitlabSecurity/DeepMunge:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'lib/**/*.rake'
|
2017-08-10 12:39:26 -04:00
|
|
|
- 'spec/**/*'
|
2017-08-03 22:20:34 -04:00
|
|
|
|
2017-08-28 12:46:00 -04:00
|
|
|
# To be enabled by https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13610
|
|
|
|
GitlabSecurity/JsonSerialization:
|
|
|
|
Enabled: false
|
|
|
|
|
2017-08-03 22:20:34 -04:00
|
|
|
GitlabSecurity/PublicSend:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
2017-08-10 12:39:26 -04:00
|
|
|
- 'config/**/*'
|
|
|
|
- 'db/**/*'
|
|
|
|
- 'features/**/*'
|
2017-08-03 22:20:34 -04:00
|
|
|
- 'lib/**/*.rake'
|
2017-08-10 12:39:26 -04:00
|
|
|
- 'qa/**/*'
|
|
|
|
- 'spec/**/*'
|
2017-08-03 22:20:34 -04:00
|
|
|
|
|
|
|
GitlabSecurity/RedirectToParamsUpdate:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'lib/**/*.rake'
|
2017-08-10 12:39:26 -04:00
|
|
|
- 'spec/**/*'
|
2017-08-03 22:20:34 -04:00
|
|
|
|
|
|
|
GitlabSecurity/SqlInjection:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'lib/**/*.rake'
|
2017-08-10 12:39:26 -04:00
|
|
|
- 'spec/**/*'
|
2017-08-03 22:20:34 -04:00
|
|
|
|
|
|
|
GitlabSecurity/SystemCommandInjection:
|
|
|
|
Enabled: true
|
|
|
|
Exclude:
|
|
|
|
- 'lib/**/*.rake'
|
2017-08-10 12:39:26 -04:00
|
|
|
- 'spec/**/*'
|