.rubocop.yml
AllCops:
TargetRubyVersion: 2.4
NewCops: enable
SuggestExtensions: false
# *** Permanent Settings *** #
# This could be adjusted but does not bother me
Layout/LineLength:
Max: 200
# This is the one allowed global :-)
Style/GlobalVars:
AllowedVariables:
- "$logger"
# This could be adjusted but does not bother me
# There is actually one exception to this, PotentialBuild, that would be crazy to refactor away
Metrics/ParameterLists:
Max: 7
# I don't really care which style we use here but we'll always be consistent within each Hash
Style/HashSyntax:
EnforcedStyle: no_mixed_keys
# our heredocs are carefully crafted and need to have no whitespace indentation
Layout/HeredocIndentation:
Enabled: false
# This requires a semantic change and I'm not doing that anytime soon
Security/YAMLLoad:
Enabled: false
Lint/RedundantCopDisableDirective:
Enabled: false
Style/OptionalBooleanParameter:
Enabled: false
# ************************** #
# *** Temporary Settings *** #
# I just need to learn the best way to handle this
Style/FloatDivision:
Enabled: false
# This is just going to take a while
Style/RescueStandardError:
Enabled: false
# I need to learn more about this before enabling it
Style/EachWithObject:
Enabled: false
Lint/MixedRegexpCaptureTypes:
Enabled: false
# These were added by rubocop later
Style/HashEachMethods:
Enabled: true
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
# We're letting codeclimate do this analysis
Metrics/BlockNesting:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
Metrics/AbcSize:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
Metrics/ClassLength:
Enabled: false
Style/CombinableLoops:
Enabled: false
# ************************** #