mirror of
https://github.com/super-linter/super-linter.git
synced 2024-11-22 08:41:02 -05:00
Merge pull request #72 from github/fixRubyRules
Using Default GitHub Rules
This commit is contained in:
commit
10871ec798
2 changed files with 6 additions and 362 deletions
182
.github/linters/.ruby-lint.yml
vendored
182
.github/linters/.ruby-lint.yml
vendored
|
@ -3,182 +3,6 @@
|
||||||
# Rubocop Config file #
|
# Rubocop Config file #
|
||||||
#######################
|
#######################
|
||||||
|
|
||||||
################################################################################
|
inherit_gem:
|
||||||
############################## Rails Rules #####################################
|
rubocop-github:
|
||||||
################################################################################
|
- config/default.yml
|
||||||
|
|
||||||
# Set the linter to enable rails rules
|
|
||||||
Rails:
|
|
||||||
Enabled: true
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
############################# Security Rules ###################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Security rules
|
|
||||||
Security/Open:
|
|
||||||
Enabled: false
|
|
||||||
################################################################################
|
|
||||||
############################# Metrics Rules ####################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Commonly used screens these days easily fit more than 80 characters.
|
|
||||||
Metrics/LineLength:
|
|
||||||
Max: 120
|
|
||||||
|
|
||||||
# Too short methods lead to extraction of single-use methods, which can make
|
|
||||||
# the code easier to read (by naming things), but can also clutter the class
|
|
||||||
Metrics/MethodLength:
|
|
||||||
Max: 30
|
|
||||||
|
|
||||||
# The guiding principle of classes is SRP,
|
|
||||||
# SRP can't be accurately measured by LoC
|
|
||||||
Metrics/ClassLength:
|
|
||||||
Max: 1500
|
|
||||||
|
|
||||||
# Turn off the Assignment Branch Condition size for the case of these scripts
|
|
||||||
Metrics/AbcSize:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Set the complexity of the metrics
|
|
||||||
Metrics/PerceivedComplexity:
|
|
||||||
Max: 10
|
|
||||||
|
|
||||||
# Set the complexity of the cyle
|
|
||||||
Metrics/CyclomaticComplexity:
|
|
||||||
Max: 10
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
########################## Layout Rules ########################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# No space makes the method definition shorter and differentiates
|
|
||||||
# from a regular assignment.
|
|
||||||
Layout/SpaceAroundEqualsInParameterDefault:
|
|
||||||
EnforcedStyle: no_space
|
|
||||||
|
|
||||||
# Indenting the chained dots beneath each other is not supported by this cop,
|
|
||||||
# see https://github.com/bbatsov/rubocop/issues/1633
|
|
||||||
Layout/MultilineOperationIndentation:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
Layout/SpaceInsideBlockBraces:
|
|
||||||
# The space here provides no real gain in readability while consuming
|
|
||||||
# horizontal space that could be used for a better parameter name.
|
|
||||||
# Also {| differentiates better from a hash than { | does.
|
|
||||||
SpaceBeforeBlockParameters: false
|
|
||||||
|
|
||||||
# No trailing space differentiates better from the block:
|
|
||||||
# foo} means hash, foo } means block.
|
|
||||||
Layout/SpaceInsideHashLiteralBraces:
|
|
||||||
EnforcedStyle: no_space
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
########################### Style Rules ########################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Single quotes being faster is hardly measurable and only affects parse time.
|
|
||||||
# Enforcing double quotes reduces the times where you need to change them
|
|
||||||
# when introducing an interpolation. Use single quotes only if their semantics
|
|
||||||
# are needed.
|
|
||||||
Style/StringLiterals:
|
|
||||||
EnforcedStyle: double_quotes
|
|
||||||
|
|
||||||
# We do not need to support Ruby 1.9, so this is good to use.
|
|
||||||
Style/SymbolArray:
|
|
||||||
Enabled: true
|
|
||||||
|
|
||||||
# Mixing the styles looks just silly.
|
|
||||||
Style/HashSyntax:
|
|
||||||
EnforcedStyle: ruby19_no_mixed_keys
|
|
||||||
|
|
||||||
# has_key? and has_value? are far more readable than key? and value?
|
|
||||||
Style/PreferredHashMethods:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# String#% is by far the least verbose and only object oriented variant.
|
|
||||||
Style/FormatString:
|
|
||||||
EnforcedStyle: percent
|
|
||||||
|
|
||||||
Style/CollectionMethods:
|
|
||||||
Enabled: true
|
|
||||||
PreferredMethods:
|
|
||||||
# inject seems more common in the community.
|
|
||||||
reduce: "inject"
|
|
||||||
|
|
||||||
# Either allow this style or don't. Marking it as safe with parenthesis
|
|
||||||
# is silly. Let's try to live without them for now.
|
|
||||||
Style/ParenthesesAroundCondition:
|
|
||||||
AllowSafeAssignment: false
|
|
||||||
|
|
||||||
# A specialized exception class will take one or more arguments
|
|
||||||
# and construct the message from it. So both variants make sense.
|
|
||||||
Style/RaiseArgs:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Fail is an alias of raise. Avoid aliases,
|
|
||||||
# it's more cognitive load for no gain. The argument that fail
|
|
||||||
# should be used to abort the program is wrong too,
|
|
||||||
# there's Kernel#abort for that.
|
|
||||||
Style/SignalException:
|
|
||||||
EnforcedStyle: only_raise
|
|
||||||
|
|
||||||
# { ... } for multi-line blocks is okay, follow Weirichs rule instead:
|
|
||||||
# https://web.archive.org/web/20140221124509/http://onestepback.org/index.cgi/Tech/Ruby/BraceVsDoEnd.rdoc
|
|
||||||
Style/BlockDelimiters:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# do / end blocks should be used for side effects,
|
|
||||||
# methods that run a block for side effects and have
|
|
||||||
# a useful return value are rare, assign the return
|
|
||||||
# value to a local variable for those cases.
|
|
||||||
Style/MethodCalledOnDoEndBlock:
|
|
||||||
Enabled: true
|
|
||||||
|
|
||||||
# Enforcing the names of variables? To single letter ones? Just no.
|
|
||||||
Style/SingleLineBlockParams:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Check with yard instead.
|
|
||||||
Style/Documentation:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Style preference
|
|
||||||
Style/MethodDefParentheses:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
########################### Linter Rules #######################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# There are valid cases, for example debugging Cucumber steps,
|
|
||||||
# also they'll fail CI anyway
|
|
||||||
Lint/Debugger:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Shadowing outer local variables with block parameters is often useful
|
|
||||||
# to not reinvent a new name for the same thing, it highlights the relation
|
|
||||||
# between the outer variable and the parameter. The cases where it's actually
|
|
||||||
# confusing are rare, and usually bad for other reasons already, for example
|
|
||||||
# because the method is too long.
|
|
||||||
Lint/ShadowingOuterLocalVariable:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Suppressing exceptions can be perfectly fine, and be it to avoid to
|
|
||||||
# explicitly type nil into the rescue since that's what you want to return,
|
|
||||||
# or suppressing LoadError for optional dependencies
|
|
||||||
Lint/HandleExceptions:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
Lint/AssignmentInCondition:
|
|
||||||
AllowSafeAssignment: false
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
############################ Naming Rules ######################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# This is just silly. Calling the argument `other` in all cases makes no sense.
|
|
||||||
Naming/BinaryOperatorParameterName:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
|
@ -3,186 +3,6 @@
|
||||||
# Rubocop Config file #
|
# Rubocop Config file #
|
||||||
#######################
|
#######################
|
||||||
|
|
||||||
################################################################################
|
inherit_gem:
|
||||||
############################## Rails Rules #####################################
|
rubocop-github:
|
||||||
################################################################################
|
- config/default.yml
|
||||||
|
|
||||||
# Set the linter to enable rails rules
|
|
||||||
# Note: the old style was to do the following. Now we just need to do the
|
|
||||||
# require to allow rubocop to enable rails
|
|
||||||
# https://stackoverflow.com/questions/41892310/how-to-enable-rubocop-rails-cops-automatically
|
|
||||||
# Rails:
|
|
||||||
# Enabled: true
|
|
||||||
require: rubocop-rails
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
############################# Security Rules ###################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Security rules
|
|
||||||
Security/Open:
|
|
||||||
Enabled: false
|
|
||||||
################################################################################
|
|
||||||
############################# Metrics Rules ####################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Commonly used screens these days easily fit more than 80 characters.
|
|
||||||
Metrics/LineLength:
|
|
||||||
Max: 120
|
|
||||||
|
|
||||||
# Too short methods lead to extraction of single-use methods, which can make
|
|
||||||
# the code easier to read (by naming things), but can also clutter the class
|
|
||||||
Metrics/MethodLength:
|
|
||||||
Max: 30
|
|
||||||
|
|
||||||
# The guiding principle of classes is SRP,
|
|
||||||
# SRP can't be accurately measured by LoC
|
|
||||||
Metrics/ClassLength:
|
|
||||||
Max: 1500
|
|
||||||
|
|
||||||
# Turn off the Assignment Branch Condition size for the case of these scripts
|
|
||||||
Metrics/AbcSize:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Set the complexity of the metrics
|
|
||||||
Metrics/PerceivedComplexity:
|
|
||||||
Max: 10
|
|
||||||
|
|
||||||
# Set the complexity of the cyle
|
|
||||||
Metrics/CyclomaticComplexity:
|
|
||||||
Max: 10
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
########################## Layout Rules ########################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# No space makes the method definition shorter and differentiates
|
|
||||||
# from a regular assignment.
|
|
||||||
Layout/SpaceAroundEqualsInParameterDefault:
|
|
||||||
EnforcedStyle: no_space
|
|
||||||
|
|
||||||
# Indenting the chained dots beneath each other is not supported by this cop,
|
|
||||||
# see https://github.com/bbatsov/rubocop/issues/1633
|
|
||||||
Layout/MultilineOperationIndentation:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
Layout/SpaceInsideBlockBraces:
|
|
||||||
# The space here provides no real gain in readability while consuming
|
|
||||||
# horizontal space that could be used for a better parameter name.
|
|
||||||
# Also {| differentiates better from a hash than { | does.
|
|
||||||
SpaceBeforeBlockParameters: false
|
|
||||||
|
|
||||||
# No trailing space differentiates better from the block:
|
|
||||||
# foo} means hash, foo } means block.
|
|
||||||
Layout/SpaceInsideHashLiteralBraces:
|
|
||||||
EnforcedStyle: no_space
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
########################### Style Rules ########################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Single quotes being faster is hardly measurable and only affects parse time.
|
|
||||||
# Enforcing double quotes reduces the times where you need to change them
|
|
||||||
# when introducing an interpolation. Use single quotes only if their semantics
|
|
||||||
# are needed.
|
|
||||||
Style/StringLiterals:
|
|
||||||
EnforcedStyle: double_quotes
|
|
||||||
|
|
||||||
# We do not need to support Ruby 1.9, so this is good to use.
|
|
||||||
Style/SymbolArray:
|
|
||||||
Enabled: true
|
|
||||||
|
|
||||||
# Mixing the styles looks just silly.
|
|
||||||
Style/HashSyntax:
|
|
||||||
EnforcedStyle: ruby19_no_mixed_keys
|
|
||||||
|
|
||||||
# has_key? and has_value? are far more readable than key? and value?
|
|
||||||
Style/PreferredHashMethods:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# String#% is by far the least verbose and only object oriented variant.
|
|
||||||
Style/FormatString:
|
|
||||||
EnforcedStyle: percent
|
|
||||||
|
|
||||||
Style/CollectionMethods:
|
|
||||||
Enabled: true
|
|
||||||
PreferredMethods:
|
|
||||||
# inject seems more common in the community.
|
|
||||||
reduce: "inject"
|
|
||||||
|
|
||||||
# Either allow this style or don't. Marking it as safe with parenthesis
|
|
||||||
# is silly. Let's try to live without them for now.
|
|
||||||
Style/ParenthesesAroundCondition:
|
|
||||||
AllowSafeAssignment: false
|
|
||||||
|
|
||||||
# A specialized exception class will take one or more arguments
|
|
||||||
# and construct the message from it. So both variants make sense.
|
|
||||||
Style/RaiseArgs:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Fail is an alias of raise. Avoid aliases,
|
|
||||||
# it's more cognitive load for no gain. The argument that fail
|
|
||||||
# should be used to abort the program is wrong too,
|
|
||||||
# there's Kernel#abort for that.
|
|
||||||
Style/SignalException:
|
|
||||||
EnforcedStyle: only_raise
|
|
||||||
|
|
||||||
# { ... } for multi-line blocks is okay, follow Weirichs rule instead:
|
|
||||||
# https://web.archive.org/web/20140221124509/http://onestepback.org/index.cgi/Tech/Ruby/BraceVsDoEnd.rdoc
|
|
||||||
Style/BlockDelimiters:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# do / end blocks should be used for side effects,
|
|
||||||
# methods that run a block for side effects and have
|
|
||||||
# a useful return value are rare, assign the return
|
|
||||||
# value to a local variable for those cases.
|
|
||||||
Style/MethodCalledOnDoEndBlock:
|
|
||||||
Enabled: true
|
|
||||||
|
|
||||||
# Enforcing the names of variables? To single letter ones? Just no.
|
|
||||||
Style/SingleLineBlockParams:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Check with yard instead.
|
|
||||||
Style/Documentation:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Style preference
|
|
||||||
Style/MethodDefParentheses:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
########################### Linter Rules #######################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# There are valid cases, for example debugging Cucumber steps,
|
|
||||||
# also they'll fail CI anyway
|
|
||||||
Lint/Debugger:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Shadowing outer local variables with block parameters is often useful
|
|
||||||
# to not reinvent a new name for the same thing, it highlights the relation
|
|
||||||
# between the outer variable and the parameter. The cases where it's actually
|
|
||||||
# confusing are rare, and usually bad for other reasons already, for example
|
|
||||||
# because the method is too long.
|
|
||||||
Lint/ShadowingOuterLocalVariable:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Suppressing exceptions can be perfectly fine, and be it to avoid to
|
|
||||||
# explicitly type nil into the rescue since that's what you want to return,
|
|
||||||
# or suppressing LoadError for optional dependencies
|
|
||||||
Lint/SuppressedException:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
Lint/AssignmentInCondition:
|
|
||||||
AllowSafeAssignment: false
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
############################ Naming Rules ######################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# This is just silly. Calling the argument `other` in all cases makes no sense.
|
|
||||||
Naming/BinaryOperatorParameterName:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
Loading…
Reference in a new issue