aidengleave/acebook-desk-warriors

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
#    _____               ____ ____        __     _         __
#   / ___/ _____ ____ _ / __// __/____   / /    (_)____   / /_
#   \__ \ / ___// __ `// /_ / /_ / __ \ / /    / // __ \ / __/
#  ___/ // /__ / /_/ // __// __// /_/ // /___ / // / / // /_
# /____/ \___/ \__,_//_/  /_/ 1 \____//_____//_//_/ /_/ \__/
#
# The linter file that doesn't lead junior developers to bad habits.
# https://github.com/makersacademy/scaffolint
#
# Tested with Rubocop version 0.56.0
#
# Introduction
# ============
#
# Our order of priorities:
#
#   1. Conforming your code to the styleguide.
#   2. The styleguide being thorough and complete.
#
# This file relaxes Rubocop a bit so you can learn about code quality rather
# than just following the rules. Some guidelines can result in worse code if you
# don't know why they are there. For instance, if a line is too long, you might
# be tempted to simply abbreviate your variable names - making your code harder
# to read.
#
# We prioritize rules that offer good, easily incorporated feedback on improving
# your code, without being overwhelming or requiring experienced judgement.
#
# As you become a better developer you will remove or amend this file according
# to what you think good code should look like.
#
# Physical Code Size
# ==================
#
# Sometimes beginner devs interpret line or block length restrictions as a
# reason to make things so abbreviated as to be unreadable. These messages are
# designed to make you write more readable code - not less.
AllCops:
  Exclude: 
    - 'db/**'
    - 'config/**/*'
    - 'bin/**'

Metrics/LineLength:
  Max: 100

# We want to encourage testing, but it can be verbose in the early stages.
# So we'll give you a break. As you learn, try removing the next two sections.

Metrics/LineLength:
  Exclude:
    - 'spec/**/*'
    - 'test/**/*'
    - Gemfile
    - Rakefile


Metrics/BlockLength:
  Exclude:
    - 'spec/**/*'
    - 'test/**/*'

# Code Style
# ==========
#
# Many devs, upon running a linter for the first time, see a big wall of errors
# of dubious necessity and put it in the 'way too much trouble' box. Beginners
# usually have far more pressing concerns than which sort of quotes they use.
#
# This makes Rubocop have a bigger 'payoff' for beginners without so much of
# the punishment. We focus our linting on things that significantly impact
# readability, expressiveness, or teach a dev new things. For example:
#
#   * Indentation & whitespace (inconsistency, really gross stuff like `a=1`)
#   * Easy wins in expressiveness (e.g. guard clauses — nice opportunity to
#     inject concretes)
#   * Egregious non-idiomatic ruby like `def getFilename`

IndentationConsistency:
  Enabled: true
IndentationWidth:
  Enabled: true
AccessorMethodName:
  Enabled: true
BlockEndNewline:
  Enabled: true
DefWithParentheses:
  Enabled: true
EmptyLineBetweenDefs:
  Enabled: true
EmptyLines:
  Enabled: true
ExtraSpacing:
  Enabled: true
GuardClause:
  Enabled: true
IdenticalConditionalBranches:
  Enabled: true
InverseMethods:
  Enabled: true
LeadingCommentSpace:
  Enabled: true
NegatedIf:
  Enabled: true
NegatedWhile:
  Enabled: true
NilComparison:
  Enabled: true
Not:
  Enabled: true
NumericLiterals:
  Enabled: true
NumericPredicate:
  Enabled: true
OneLineConditional:
  Enabled: true
RedundantParentheses:
  Enabled: true
RedundantSelf:
  Enabled: true
Style/SafeNavigation:
  Enabled: true
SelfAssignment:
  Enabled: true
SpaceAfterColon:
  Enabled: true
SpaceAfterComma:
  Enabled: true
SpaceAfterMethodName:
  Enabled: true
SpaceAfterNot:
  Enabled: true
SpaceAfterSemicolon:
  Enabled: true
SpaceAroundBlockParameters:
  Enabled: true
SpaceAroundEqualsInParameterDefault:
  Enabled: true
SpaceAroundKeyword:
  Enabled: true
SpaceAroundOperators:
  Enabled: true
SpaceBeforeBlockBraces:
  Enabled: true
SpaceBeforeComma:
  Enabled: true
SpaceBeforeComment:
  Enabled: true
SpaceBeforeFirstArg:
  Enabled: true
SpaceBeforeSemicolon:
  Enabled: true
SpaceInLambdaLiteral:
  Enabled: true
SpaceInsideArrayPercentLiteral:
  Enabled: true
SpaceInsideBlockBraces:
  Enabled: true
SpaceInsideReferenceBrackets:
  Enabled: true
SpaceInsideArrayLiteralBrackets:
  Enabled: true
SpaceInsideHashLiteralBraces:
  Enabled: true
SpaceInsideParens:
  Enabled: true
SpaceInsidePercentLiteralDelimiters:
  Enabled: true
SpaceInsideRangeLiteral:
  Enabled: true
SpaceInsideStringInterpolation:
  Enabled: true
SymbolLiteral:
  Enabled: true
TrailingBlankLines:
  Enabled: true
TrivialAccessors:
  Enabled: true

# Rubocop doesn't make disabling all cops in a given group easy, so we list...
AccessModifierIndentation:
  Enabled: false
Alias:
  Enabled: false
AlignArray:
  Enabled: false
AlignHash:
  Enabled: false
AlignParameters:
  Enabled: false
AndOr:
  Enabled: false
ArrayJoin:
  Enabled: false
AsciiComments:
  Enabled: false
AsciiIdentifiers:
  Enabled: false
Attr:
  Enabled: false
AutoResourceCleanup:
  Enabled: false
BarePercentLiterals:
  Enabled: false
BeginBlock:
  Enabled: false
BlockComments:
  Enabled: false
BlockDelimiters:
  Enabled: false
BracesAroundHashParameters:
  Enabled: false
CaseEquality:
  Enabled: false
CaseIndentation:
  Enabled: false
CharacterLiteral:
  Enabled: false
ClassAndModuleChildren:
  Enabled: false
ClassCheck:
  Enabled: false
ClassMethods:
  Enabled: false
ClassVars:
  Enabled: false
ClosingParenthesisIndentation:
  Enabled: false
CollectionMethods:
  Enabled: false
ColonMethodCall:
  Enabled: false
CommandLiteral:
  Enabled: false
CommentAnnotation:
  Enabled: false
CommentIndentation:
  Enabled: false
ConditionalAssignment:
  Enabled: false
Copyright:
  Enabled: false
Documentation:
  Enabled: false
DocumentationMethod:
  Enabled: false
DotPosition:
  Enabled: false
DoubleNegation:
  Enabled: false
EachForSimpleLoop:
  Enabled: false
EachWithObject:
  Enabled: false
ElseAlignment:
  Enabled: false
EmptyCaseCondition:
  Enabled: false
EmptyElse:
  Enabled: false
EmptyLineAfterMagicComment:
  Enabled: false
EmptyLinesAroundAccessModifier:
  Enabled: false
EmptyLinesAroundBeginBody:
  Enabled: false
EmptyLinesAroundBlockBody:
  Enabled: false
EmptyLinesAroundClassBody:
  Enabled: false
EmptyLinesAroundExceptionHandlingKeywords:
  Enabled: false
EmptyLinesAroundMethodBody:
  Enabled: false
EmptyLinesAroundModuleBody:
  Enabled: false
EmptyLiteral:
  Enabled: false
EmptyMethod:
  Enabled: false
Encoding:
  Enabled: false
EndBlock:
  Enabled: false
EndOfLine:
  Enabled: false
EvenOdd:
  Enabled: false
FirstArrayElementLineBreak:
  Enabled: false
FirstHashElementLineBreak:
  Enabled: false
FirstMethodArgumentLineBreak:
  Enabled: false
FirstMethodParameterLineBreak:
  Enabled: false
FirstParameterIndentation:
  Enabled: false
FlipFlop:
  Enabled: false
For:
  Enabled: false
FormatString:
  Enabled: false
FrozenStringLiteralComment:
  Enabled: false
GlobalVars:
  Enabled: false
HashSyntax:
  Enabled: false
IfInsideElse:
  Enabled: false
IfUnlessModifier:
  Enabled: false
IfUnlessModifierOfIfUnless:
  Enabled: false
IfWithSemicolon:
  Enabled: false
ImplicitRuntimeError:
  Enabled: false
IndentArray:
  Enabled: false
IndentAssignment:
  Enabled: false
IndentHash:
  Enabled: false
IndentHeredoc:
  Enabled: false
InfiniteLoop:
  Enabled: false
InitialIndentation:
  Enabled: false
InlineComment:
  Enabled: false
Lambda:
  Enabled: false
LambdaCall:
  Enabled: false
LineEndConcatenation:
  Enabled: false
MethodCallWithArgsParentheses:
  Enabled: false
MethodCallWithoutArgsParentheses:
  Enabled: false
MethodCalledOnDoEndBlock:
  Enabled: false
MethodDefParentheses:
  Enabled: false
MethodMissingSuper:
  Enabled: false
MissingRespondToMissing:
  Enabled: false
MissingElse:
  Enabled: false
MixinGrouping:
  Enabled: false
ModuleFunction:
  Enabled: false
MultilineArrayBraceLayout:
  Enabled: false
MultilineAssignmentLayout:
  Enabled: false
MultilineBlockChain:
  Enabled: false
MultilineBlockLayout:
  Enabled: false
MultilineHashBraceLayout:
  Enabled: false
MultilineIfModifier:
  Enabled: false
MultilineIfThen:
  Enabled: false
MultilineMemoization:
  Enabled: false
MultilineMethodCallBraceLayout:
  Enabled: false
MultilineMethodCallIndentation:
  Enabled: false
MultilineMethodDefinitionBraceLayout:
  Enabled: false
MultilineOperationIndentation:
  Enabled: false
MultilineTernaryOperator:
  Enabled: false
MutableConstant:
  Enabled: false
NestedModifier:
  Enabled: false
NestedParenthesizedCalls:
  Enabled: false
NestedTernaryOperator:
  Enabled: false
Next:
  Enabled: false
NonNilCheck:
  Enabled: false
NumericLiteralPrefix:
  Enabled: false
BinaryOperatorParameterName:
  Enabled: false
OptionHash:
  Enabled: false
OptionalArguments:
  Enabled: false
ParallelAssignment:
  Enabled: false
ParenthesesAroundCondition:
  Enabled: false
PercentLiteralDelimiters:
  Enabled: false
PercentQLiterals:
  Enabled: false
PerlBackrefs:
  Enabled: false
PreferredHashMethods:
  Enabled: false
Proc:
  Enabled: false
RaiseArgs:
  Enabled: false
RedundantBegin:
  Enabled: false
RedundantException:
  Enabled: false
RedundantFreeze:
  Enabled: false
RedundantReturn:
  Enabled: false
RegexpLiteral:
  Enabled: false
RescueEnsureAlignment:
  Enabled: false
RescueModifier:
  Enabled: false
Semicolon:
  Enabled: false
Send:
  Enabled: false
SignalException:
  Enabled: false
SingleLineBlockParams:
  Enabled: false
SingleLineMethods:
  Enabled: false
SpecialGlobalVars:
  Enabled: false
StabbyLambdaParentheses:
  Enabled: false
StringLiterals:
  Enabled: false
StringLiteralsInInterpolation:
  Enabled: false
StringMethods:
  Enabled: false
StructInheritance:
  Enabled: false
SymbolArray:
  Enabled: false
SymbolProc:
  Enabled: false
Tab:
  Enabled: false
TernaryParentheses:
  Enabled: false
TrailingCommaInArguments:
  Enabled: false
TrailingCommaInArrayLiteral:
  Enabled: false
TrailingCommaInHashLiteral:
  Enabled: false
TrailingUnderscoreVariable:
  Enabled: false
TrailingWhitespace:
  Enabled: false
UnlessElse:
  Enabled: false
UnneededCapitalW:
  Enabled: false
UnneededInterpolation:
  Enabled: false
UnneededPercentQ:
  Enabled: false
VariableInterpolation:
  Enabled: false
VariableNumber:
  Enabled: false
WhenThen:
  Enabled: false
WhileUntilDo:
  Enabled: false
WhileUntilModifier:
  Enabled: false
WordArray:
  Enabled: false
ZeroLengthPredicate:
  Enabled: false