demarches-normaliennes/.rubocop.yml
2019-09-12 14:48:18 +02:00

1298 lines
18 KiB
YAML

require:
- rubocop/rspec/focused
AllCops:
Exclude:
- "db/schema.rb"
- "bin/*"
- "node_modules/**/*"
Bundler/DuplicatedGem:
Enabled: true
Bundler/InsecureProtocolSource:
Enabled: true
Bundler/OrderedGems:
Enabled: true
Gemspec/DuplicatedAssignment:
Enabled: true
Gemspec/OrderedDependencies:
Enabled: true
Gemspec/RequiredRubyVersion:
Enabled: true
Layout/AccessModifierIndentation:
Enabled: true
Layout/AlignArray:
Enabled: true
Layout/AlignHash:
Enabled: false
Layout/AlignParameters:
Enabled: true
EnforcedStyle: with_fixed_indentation
Layout/BlockAlignment:
Enabled: false
Layout/BlockEndNewline:
Enabled: true
Layout/CaseIndentation:
Enabled: true
EnforcedStyle: end
Layout/ClassStructure:
Enabled: false
Layout/ClosingParenthesisIndentation:
Enabled: true
Layout/CommentIndentation:
Enabled: true
Layout/ConditionPosition:
Enabled: true
Layout/DefEndAlignment:
Enabled: false
Layout/DotPosition:
Enabled: true
Layout/ElseAlignment:
Enabled: true
Layout/EmptyComment:
Enabled: true
Layout/EmptyLineAfterMagicComment:
Enabled: true
Layout/EmptyLineBetweenDefs:
Enabled: true
Layout/EmptyLines:
Enabled: true
Layout/EmptyLineAfterGuardClause:
Enabled: false
# FIXME: private should not be a column name on TypeDeChamp
Layout/EmptyLinesAroundAccessModifier:
Enabled: true
Exclude:
- "spec/factories/type_de_champ.rb"
Layout/EmptyLinesAroundArguments:
Enabled: true
Layout/EmptyLinesAroundBeginBody:
Enabled: true
Layout/EmptyLinesAroundBlockBody:
Enabled: true
Layout/EmptyLinesAroundClassBody:
Enabled: true
Layout/EmptyLinesAroundExceptionHandlingKeywords:
Enabled: false
Layout/EmptyLinesAroundMethodBody:
Enabled: true
Layout/EmptyLinesAroundModuleBody:
Enabled: true
Layout/EndAlignment:
Enabled: true
EnforcedStyleAlignWith: variable
Layout/EndOfLine:
Enabled: true
EnforcedStyle: lf
Layout/ExtraSpacing:
Enabled: true
Exclude:
- "Guardfile"
Layout/FirstArrayElementLineBreak:
Enabled: true
Layout/FirstHashElementLineBreak:
Enabled: true
Layout/FirstMethodArgumentLineBreak:
Enabled: false
Layout/FirstMethodParameterLineBreak:
Enabled: false
Layout/FirstParameterIndentation:
Enabled: true
Layout/IndentArray:
Enabled: true
EnforcedStyle: consistent
Layout/IndentAssignment:
Enabled: true
Layout/IndentHash:
Enabled: true
EnforcedStyle: consistent
Layout/IndentHeredoc:
Enabled: true
Layout/IndentationConsistency:
Enabled: true
Layout/IndentationWidth:
Enabled: true
Layout/InitialIndentation:
Enabled: true
Layout/LeadingCommentSpace:
Enabled: true
Layout/MultilineArrayBraceLayout:
Enabled: true
EnforcedStyle: new_line
Layout/MultilineAssignmentLayout:
Enabled: false
Layout/MultilineBlockLayout:
Enabled: true
Layout/MultilineHashBraceLayout:
Enabled: true
EnforcedStyle: new_line
Layout/MultilineMethodCallBraceLayout:
Enabled: true
EnforcedStyle: symmetrical
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
Layout/MultilineMethodDefinitionBraceLayout:
Enabled: true
Layout/MultilineOperationIndentation:
Enabled: false
Layout/RescueEnsureAlignment:
Enabled: true
Layout/SpaceAfterColon:
Enabled: true
Layout/SpaceAfterComma:
Enabled: true
Layout/SpaceAfterMethodName:
Enabled: true
Layout/SpaceAfterNot:
Enabled: true
Layout/SpaceAfterSemicolon:
Enabled: true
Layout/SpaceAroundBlockParameters:
Enabled: true
Layout/SpaceAroundEqualsInParameterDefault:
Enabled: true
Layout/SpaceAroundKeyword:
Enabled: true
Layout/SpaceAroundOperators:
Enabled: true
Layout/SpaceBeforeBlockBraces:
Enabled: true
Layout/SpaceBeforeComma:
Enabled: true
Layout/SpaceBeforeComment:
Enabled: true
Layout/SpaceBeforeFirstArg:
Enabled: true
Layout/SpaceBeforeSemicolon:
Enabled: true
Layout/SpaceInLambdaLiteral:
Enabled: true
EnforcedStyle: require_space
Layout/SpaceInsideArrayPercentLiteral:
Enabled: true
Layout/SpaceInsideBlockBraces:
Enabled: true
Layout/SpaceInsideHashLiteralBraces:
Enabled: true
Layout/SpaceInsideArrayLiteralBrackets:
Enabled: true
EnforcedStyle: no_space
Layout/SpaceInsideParens:
Enabled: true
Layout/SpaceInsidePercentLiteralDelimiters:
Enabled: true
Layout/SpaceInsideRangeLiteral:
Enabled: true
Layout/SpaceInsideReferenceBrackets:
Enabled: true
Layout/SpaceInsideStringInterpolation:
Enabled: true
Layout/Tab:
Enabled: true
Layout/TrailingBlankLines:
Enabled: true
Layout/TrailingWhitespace:
Enabled: true
Lint/AmbiguousBlockAssociation:
Enabled: false
Lint/AmbiguousOperator:
Enabled: true
Lint/AmbiguousRegexpLiteral:
Enabled: true
Lint/AssignmentInCondition:
Enabled: true
Lint/BigDecimalNew:
Enabled: true
Lint/BooleanSymbol:
Enabled: true
Lint/CircularArgumentReference:
Enabled: true
Lint/Debugger:
Enabled: true
Lint/DeprecatedClassMethods:
Enabled: true
Lint/DuplicateCaseCondition:
Enabled: true
Lint/DuplicateMethods:
Enabled: true
Lint/DuplicatedKey:
Enabled: true
Lint/EachWithObjectArgument:
Enabled: true
Lint/ElseLayout:
Enabled: true
Lint/EmptyEnsure:
Enabled: true
Lint/EmptyExpression:
Enabled: true
Lint/EmptyInterpolation:
Enabled: true
Lint/EmptyWhen:
Enabled: true
Lint/EndInMethod:
Enabled: true
Lint/EnsureReturn:
Enabled: false
Lint/FloatOutOfRange:
Enabled: true
Lint/FormatParameterMismatch:
Enabled: true
Lint/HandleExceptions:
Enabled: false
Lint/ImplicitStringConcatenation:
Enabled: true
Lint/IneffectiveAccessModifier:
Enabled: false
Lint/InheritException:
Enabled: true
Lint/InterpolationCheck:
Enabled: true
Lint/LiteralAsCondition:
Enabled: true
Lint/LiteralInInterpolation:
Enabled: true
Lint/Loop:
Enabled: true
Lint/MissingCopEnableDirective:
Enabled: true
Lint/MultipleCompare:
Enabled: true
Lint/NestedMethodDefinition:
Enabled: false
Lint/NestedPercentLiteral:
Enabled: true
Lint/NextWithoutAccumulator:
Enabled: true
Lint/NonLocalExitFromIterator:
Enabled: false
Lint/NumberConversion:
Enabled: false
Lint/OrderedMagicComments:
Enabled: true
Lint/ParenthesesAsGroupedExpression:
Enabled: true
Exclude:
- "spec/**/*"
Lint/PercentStringArray:
Enabled: false
Lint/PercentSymbolArray:
Enabled: false
Lint/RandOne:
Enabled: false
Lint/RedundantWithIndex:
Enabled: true
Lint/RedundantWithObject:
Enabled: true
Lint/RegexpAsCondition:
Enabled: true
Lint/RequireParentheses:
Enabled: false
Lint/RescueException:
Enabled: true
Lint/RescueType:
Enabled: true
Lint/ReturnInVoidContext:
Enabled: false
Lint/SafeNavigationChain:
Enabled: true
Lint/ScriptPermission:
Enabled: false
Lint/ShadowedArgument:
Enabled: true
Lint/ShadowedException:
Enabled: true
Lint/ShadowingOuterLocalVariable:
Enabled: false
Lint/StringConversionInInterpolation:
Enabled: true
Lint/Syntax:
Enabled: true
Lint/UnderscorePrefixedVariableName:
Enabled: true
Lint/UnifiedInteger:
Enabled: true
Lint/UnneededCopDisableDirective:
Enabled: true
Lint/UnneededCopEnableDirective:
Enabled: true
Lint/UnneededRequireStatement:
Enabled: true
Lint/UnneededSplatExpansion:
Enabled: false
Lint/UnreachableCode:
Enabled: true
Lint/UnusedBlockArgument:
Enabled: true
Lint/UnusedMethodArgument:
Enabled: false
Lint/UriEscapeUnescape:
Enabled: false
Lint/UriRegexp:
Enabled: false
Lint/UselessAccessModifier:
Enabled: false
Lint/UselessAssignment:
Enabled: true
Exclude:
- "spec/**/*"
Lint/UselessComparison:
Enabled: true
Lint/UselessElseWithoutRescue:
Enabled: true
Lint/UselessSetterCall:
Enabled: true
Lint/Void:
Enabled: true
Metrics/AbcSize:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/BlockNesting:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/LineLength:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
Metrics/ParameterLists:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
Naming/AccessorMethodName:
Enabled: false
Naming/AsciiIdentifiers:
Enabled: false
Naming/BinaryOperatorParameterName:
Enabled: false
Naming/ClassAndModuleCamelCase:
Enabled: false
Naming/ConstantName:
Enabled: false
Naming/FileName:
Enabled: false
Naming/HeredocDelimiterCase:
Enabled: true
Naming/HeredocDelimiterNaming:
Enabled: false
Naming/MemoizedInstanceVariableName:
Enabled: false
Naming/MethodName:
Enabled: false
Naming/PredicateName:
Enabled: false
Naming/UncommunicativeBlockParamName:
Enabled: true
Naming/UncommunicativeMethodParamName:
Enabled: false
Naming/VariableName:
Enabled: false
Naming/VariableNumber:
Enabled: false
Performance/Caller:
Enabled: true
Performance/CaseWhenSplat:
Enabled: true
Performance/Casecmp:
Enabled: true
Performance/CompareWithBlock:
Enabled: true
Performance/Count:
Enabled: true
Performance/Detect:
Enabled: true
Performance/DoubleStartEndWith:
Enabled: true
Performance/EndWith:
Enabled: true
Performance/FixedSize:
Enabled: true
Performance/FlatMap:
Enabled: true
Performance/LstripRstrip:
Enabled: true
Performance/RangeInclude:
Enabled: true
Performance/RedundantBlockCall:
Enabled: true
Performance/RedundantMatch:
Enabled: true
Performance/RedundantMerge:
Enabled: true
Performance/RedundantSortBy:
Enabled: true
Performance/RegexpMatch:
Enabled: true
Performance/ReverseEach:
Enabled: true
Performance/Sample:
Enabled: true
Performance/Size:
Enabled: true
Performance/StartWith:
Enabled: true
Performance/StringReplacement:
Enabled: true
Performance/TimesMap:
Enabled: true
Performance/UnfreezeString:
Enabled: true
Performance/UriDefaultParser:
Enabled: true
Rails/ActionFilter:
Enabled: true
Rails/ActiveRecordAliases:
Enabled: true
Rails/ActiveSupportAliases:
Enabled: true
Rails/ApplicationJob:
Enabled: true
Rails/ApplicationRecord:
Enabled: true
Rails/Blank:
Enabled: true
Rails/BulkChangeTable:
Enabled: false
Rails/CreateTableWithTimestamps:
Enabled: true
Exclude:
- db/migrate/2015*.rb
- db/migrate/2016*.rb
- db/migrate/2017*.rb
- db/migrate/2018*.rb
Rails/Date:
Enabled: false
Rails/Delegate:
Enabled: false
Rails/DelegateAllowBlank:
Enabled: true
Rails/DynamicFindBy:
Enabled: true
Exclude:
- "spec/features/**/*.rb"
Rails/EnumUniqueness:
Enabled: true
Rails/EnvironmentComparison:
Enabled: false
Rails/Exit:
Enabled: true
Rails/FilePath:
Enabled: true
Rails/FindBy:
Enabled: true
Rails/FindEach:
Enabled: true
Rails/HasAndBelongsToMany:
Enabled: false
Rails/HasManyOrHasOneDependent:
Enabled: false
Rails/HttpPositionalArguments:
Enabled: true
Rails/HttpStatus:
Enabled: false
Rails/InverseOf:
Enabled: true
Rails/LexicallyScopedActionFilter:
Enabled: false
Rails/NotNullColumn:
Enabled: false
Rails/Output:
Enabled: false
Rails/OutputSafety:
Enabled: true
Rails/PluralizationGrammar:
Enabled: true
Rails/Presence:
Enabled: true
Rails/Present:
Enabled: true
Rails/ReadWriteAttribute:
Enabled: false
Rails/RedundantReceiverInWithOptions:
Enabled: true
Rails/RelativeDateConstant:
Enabled: true
Rails/RequestReferer:
Enabled: true
Rails/ReversibleMigration:
Enabled: false
Rails/SafeNavigation:
Enabled: true
Rails/SaveBang:
Enabled: false
Rails/ScopeArgs:
Enabled: true
Rails/SkipsModelValidations:
Enabled: false
Rails/TimeZone:
EnforcedStyle: strict
Rails/UniqBeforePluck:
Enabled: true
Rails/UnknownEnv:
Enabled: false
Rails/Validation:
Enabled: true
Rails:
Enabled: true
RSpec/Focused:
Enabled: true
Security/Eval:
Enabled: true
Security/JSONLoad:
Enabled: true
Security/MarshalLoad:
Enabled: true
Security/Open:
Enabled: true
Security/YAMLLoad:
Enabled: true
Style/AccessModifierDeclarations:
Enabled: false
Style/Alias:
Enabled: false
Style/AndOr:
Enabled: true
Style/ArrayJoin:
Enabled: true
Style/AsciiComments:
Enabled: false
Style/Attr:
Enabled: true
Style/AutoResourceCleanup:
Enabled: true
Style/BarePercentLiterals:
Enabled: false
Style/BeginBlock:
Enabled: true
Style/BlockComments:
Enabled: true
Style/BlockDelimiters:
Enabled: true
Exclude:
- "spec/**/*"
Style/BracesAroundHashParameters:
Enabled: false
Style/CaseEquality:
Enabled: true
Style/CharacterLiteral:
Enabled: false
Style/ClassAndModuleChildren:
Enabled: false
Style/ClassCheck:
Enabled: true
Style/ClassMethods:
Enabled: true
Style/ClassVars:
Enabled: false
Style/CollectionMethods:
PreferredMethods:
collect: map
collect!: map!
inject: reduce
detect: find
select: filter
find_all: filter
Enabled: true
Style/ColonMethodCall:
Enabled: true
Style/ColonMethodDefinition:
Enabled: true
Style/CommandLiteral:
Enabled: false
Style/CommentAnnotation:
Enabled: false
Style/CommentedKeyword:
Enabled: false
Style/ConditionalAssignment:
Enabled: false
Style/Copyright:
Enabled: false
Style/DateTime:
Enabled: false
Style/DefWithParentheses:
Enabled: true
Style/Dir:
Enabled: true
Style/Documentation:
Enabled: false
Style/DocumentationMethod:
Enabled: false
Style/DoubleNegation:
Enabled: false
Style/EachForSimpleLoop:
Enabled: true
Style/EachWithObject:
Enabled: false
Style/EmptyBlockParameter:
Enabled: true
Style/EmptyCaseCondition:
Enabled: false
Style/EmptyElse:
Enabled: false
Style/EmptyLambdaParameter:
Enabled: true
Style/EmptyLiteral:
Enabled: true
Style/EmptyMethod:
Enabled: false
Style/Encoding:
Enabled: true
Style/EndBlock:
Enabled: true
Style/EvalWithLocation:
Enabled: false
Style/EvenOdd:
Enabled: true
Style/ExpandPathArguments:
Enabled: true
Style/FlipFlop:
Enabled: true
Style/For:
Enabled: true
Style/FormatString:
Enabled: true
Style/FormatStringToken:
Enabled: true
EnforcedStyle: template
Style/FrozenStringLiteralComment:
Enabled: false
Style/GlobalVars:
Enabled: true
Style/GuardClause:
Enabled: false
Style/HashSyntax:
Enabled: false
Style/IdenticalConditionalBranches:
Enabled: false
Style/IfInsideElse:
Enabled: false
Style/IfUnlessModifier:
Enabled: false
Style/IfUnlessModifierOfIfUnless:
Enabled: false
Style/IfWithSemicolon:
Enabled: false
Style/ImplicitRuntimeError:
Enabled: false
Style/InfiniteLoop:
Enabled: false
Style/InlineComment:
Enabled: false
Style/InverseMethods:
Enabled: false
Style/Lambda:
Enabled: false
Style/LambdaCall:
Enabled: false
Style/LineEndConcatenation:
Enabled: false
Style/MethodCallWithArgsParentheses:
Enabled: false
Style/MethodCallWithoutArgsParentheses:
Enabled: false
Style/MethodCalledOnDoEndBlock:
Enabled: false
Style/MethodDefParentheses:
Enabled: true
Style/MethodMissingSuper:
Enabled: false
Style/MinMax:
Enabled: true
Style/MissingElse:
Enabled: false
Style/MissingRespondToMissing:
Enabled: false
Style/MixinGrouping:
Enabled: false
Style/MixinUsage:
Enabled: false
Style/ModuleFunction:
Enabled: false
Style/MultilineBlockChain:
Enabled: false
Style/MultilineIfModifier:
Enabled: false
Style/MultilineIfThen:
Enabled: false
Style/MultilineMemoization:
Enabled: false
Style/MultilineTernaryOperator:
Enabled: false
Style/MultipleComparison:
Enabled: false
Style/MutableConstant:
Enabled: false
Style/NegatedIf:
Enabled: false
Style/NegatedWhile:
Enabled: false
Style/NestedModifier:
Enabled: false
Style/NestedParenthesizedCalls:
Enabled: false
Style/NestedTernaryOperator:
Enabled: false
Style/Next:
Enabled: false
Style/NilComparison:
Enabled: false
Style/NonNilCheck:
Enabled: false
Style/Not:
Enabled: false
Style/NumericLiteralPrefix:
Enabled: false
Style/NumericLiterals:
Enabled: false
Style/NumericPredicate:
Enabled: false
Style/OneLineConditional:
Enabled: false
Style/OptionHash:
Enabled: false
Style/OptionalArguments:
Enabled: false
Style/ParallelAssignment:
Enabled: false
Style/OrAssignment:
Enabled: true
Style/ParenthesesAroundCondition:
Enabled: false
Style/PercentLiteralDelimiters:
Enabled: false
Style/PercentQLiterals:
Enabled: false
Style/PerlBackrefs:
Enabled: false
Style/PreferredHashMethods:
Enabled: false
Style/Proc:
Enabled: false
Style/RaiseArgs:
Enabled: false
Style/RandomWithOffset:
Enabled: false
Style/RedundantBegin:
Enabled: false
Style/RedundantConditional:
Enabled: true
Style/RedundantException:
Enabled: false
Style/RedundantFreeze:
Enabled: false
Style/RedundantParentheses:
Enabled: false
Style/RedundantReturn:
Enabled: false
Style/RedundantSelf:
Enabled: false
Style/RegexpLiteral:
Enabled: false
Style/RescueModifier:
Enabled: false
Style/RescueStandardError:
Enabled: false
Style/ReturnNil:
Enabled: false
Style/SafeNavigation:
Enabled: false
Style/SelfAssignment:
Enabled: false
Style/Semicolon:
Enabled: false
Style/Send:
Enabled: false
Style/SignalException:
Enabled: false
Style/SingleLineBlockParams:
Enabled: false
Style/SingleLineMethods:
Enabled: false
Style/SpecialGlobalVars:
Enabled: false
Style/StabbyLambdaParentheses:
Enabled: false
Style/StderrPuts:
Enabled: true
Style/StringHashKeys:
Enabled: false
Style/StringLiterals:
Enabled: false
Style/StringLiteralsInInterpolation:
Enabled: false
Style/StringMethods:
Enabled: false
Style/StructInheritance:
Enabled: false
Style/SymbolArray:
Enabled: true
EnforcedStyle: brackets
Style/SymbolLiteral:
Enabled: true
Style/SymbolProc:
Enabled: true
IgnoredMethods: [after]
Style/TernaryParentheses:
Enabled: false
Style/TrailingBodyOnClass:
Enabled: true
Style/TrailingBodyOnMethodDefinition:
Enabled: true
Style/TrailingBodyOnModule:
Enabled: true
Style/TrailingCommaInArguments:
Enabled: true
Style/TrailingCommaInArrayLiteral:
Enabled: true
Style/TrailingCommaInHashLiteral:
Enabled: true
Style/TrailingMethodEndStatement:
Enabled: true
Style/TrailingUnderscoreVariable:
Enabled: false
Style/TrivialAccessors:
Enabled: false
Style/UnlessElse:
Enabled: true
Style/UnneededCapitalW:
Enabled: true
Style/UnneededInterpolation:
Enabled: true
Style/UnneededPercentQ:
Enabled: true
Style/VariableInterpolation:
Enabled: true
Style/WhenThen:
Enabled: false
Style/WhileUntilDo:
Enabled: true
# Disabled because we don't want to use modifiers
Style/WhileUntilModifier:
Enabled: false
Style/WordArray:
Enabled: true
EnforcedStyle: brackets
Style/YodaCondition:
Enabled: true
Style/ZeroLengthPredicate:
Enabled: true