canvas-lms/.rubocop.yml

174 lines
3.6 KiB
YAML
Raw Normal View History

require:
- rubocop-rspec
# this odd relative path is so that rubocop works when run without "bundle
# exec", such as from most editors/IDEs.
- ./gems/rubocop-canvas/lib/rubocop_canvas
AllCops:
TargetRubyVersion: 2.3
# our style changes: disabling style rules we aren't interested in
Style/StringLiterals:
Enabled: false
Style/SignalException:
Enabled: false
Style/SpaceBeforeBlockBraces:
Enabled: false
Style/SpaceInsideBlockBraces:
Enabled: false
Style/NumericLiterals:
Enabled: false
Style/BracesAroundHashParameters:
Enabled: false
Style/SpaceInsideBrackets:
Enabled: false
Style/SpaceInsideHashLiteralBraces:
Enabled: false
Style/PercentLiteralDelimiters:
Enabled: false
Style/SpaceAroundOperators:
Enabled: false
Style/SpaceAfterColon:
Enabled: false
Style/SpaceAfterComma:
Enabled: false
Style/Documentation:
Enabled: false
Style/ClassAndModuleChildren:
Enabled: false
Style/RegexpLiteral:
Enabled: false
Style/EmptyLines:
Enabled: false
Style/EmptyLinesAroundMethodBody:
Enabled: false
Style/EmptyLinesAroundClassBody:
Enabled: false
Style/EmptyLinesAroundModuleBody:
Enabled: false
Style/EmptyLinesAroundBlockBody:
Enabled: false
Style/GuardClause:
Enabled: false
Style/RedundantSelf:
Enabled: false
Style/SpaceAroundEqualsInParameterDefault:
Enabled: false
Style/SpaceBeforeFirstArg:
Enabled: false
Style/EmptyLinesAroundAccessModifier:
Enabled: false
Style/IfUnlessModifier:
Enabled: false
Style/WordArray:
Enabled: false
Style/PercentQLiterals:
Enabled: false
Style/IndentHash:
Enabled: false
Style/DoubleNegation:
Enabled: false
Style/TrailingCommaInArguments:
Enabled: false
Style/TrailingCommaInLiteral:
Enabled: false
Style/MethodCallParentheses:
Enabled: false
Style/TrailingBlankLines:
Enabled: false
Style/IndentationConsistency:
Enabled: false
Style/IndentationWidth:
Enabled: false
Style/AlignParameters:
Enabled: false
Style/DotPosition:
Enabled: false
Style/TrailingWhitespace:
Enabled: false
Style/MultilineOperationIndentation:
Enabled: false
Style/AlignHash:
Enabled: false
Style/AlignParameters:
Enabled: false
Style/Lambda:
Enabled: false
Style/WhileUntilModifier:
Enabled: false
Style/ParallelAssignment:
Enabled: false
Style/ZeroLengthPredicate:
Enabled: false
Style/SpaceInLambdaLiteral:
Enabled: false
Style/NumericPredicate:
Enabled: false
Style/VariableNumber:
Enabled: false
Style/SpaceInLambdaLiteral:
Enabled: false
# this isn't good for us because of how we pin dependencies
Bundler/OrderedGems:
Enabled: false
# Rails style changes
Rails:
Enabled: true
Rails/TimeZone:
Enabled: false
# accessors are often defined in terms of read_attribute
Rails/ReadWriteAttribute:
Enabled: false
# Lint changes
Lint/AmbiguousRegexpLiteral:
Severity: convention
Lint/UselessAssignment:
Severity: convention
Lint/Debugger:
Severity: error
Lint/EndAlignment:
Severity: convention
# Performance changes
Performance/Detect:
Severity: warning
# these need better configuration than the default:
Style/AndOr:
EnforcedStyle: conditionals
Style/RescueModifier:
Severity: warning
Style/MultilineMethodCallIndentation:
EnforcedStyle: indented
Style/IndentArray:
EnforcedStyle: consistent
# these don't make sense pre-Rails 4
Rails/FindBy:
Enabled: false
Rails/ActionFilter:
Enabled: false
# Things we may want to tighten down later
Metrics/AbcSize:
Enabled: false
Metrics/LineLength:
Max: 120
Metrics/MethodLength:
Max: 16
Metrics/CyclomaticComplexity:
Max: 10
RSpec/InstanceVariable:
Enabled: false
RSpec/ExampleWording:
Enabled: false
RSpec/DescribedClass:
Enabled: false
RSpec/DescribeClass:
Enabled: false
Style/HashSyntax:
Enabled: false