demarches-normaliennes/.rubocop.yml
Pierre de La Morinerie fb305e31c4 config: move application_name to an initializer
It seems cleaner not to require a file before the Rails configuration
runs.
2021-02-24 15:06:55 +01:00

1353 lines
20 KiB
YAML

require:
- rubocop/rspec/focused
- ./lib/cops/unscoped.rb
- ./lib/cops/application_name.rb
inherit_gem:
rubocop-rails_config:
- config/rails.yml
AllCops:
Exclude:
- "db/schema.rb"
- "db/migrate/20190730153555_recreate_structure.rb"
- "bin/*"
- "node_modules/**/*"
- "vendor/**/*"
DS/Unscoped:
Enabled: true
DS/ApplicationName:
Enabled: true
Exclude:
- './config/initializers/01_application_name.rb'
- './lib/cops/application_name.rb'
- './lib/linters/application_name_linter.rb'
- "./spec/**/*"
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/ArrayAlignment:
Enabled: true
Layout/HashAlignment:
Enabled: false
Layout/ParameterAlignment:
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
EnforcedStyle: around
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/FirstArrayElementIndentation:
Enabled: true
EnforcedStyle: consistent
Layout/AssignmentIndentation:
Enabled: true
Layout/FirstHashElementIndentation:
Enabled: true
EnforcedStyle: consistent
Layout/HeredocIndentation:
Enabled: true
Layout/IndentationConsistency:
Enabled: true
EnforcedStyle: normal
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/IndentationStyle:
Enabled: true
Layout/TrailingEmptyLines:
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/DuplicateHashKey:
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/EnsureReturn:
Enabled: false
Lint/FloatOutOfRange:
Enabled: true
Lint/FormatParameterMismatch:
Enabled: true
Lint/SuppressedException:
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/MultipleComparison:
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/RedundantStringCoercion:
Enabled: true
Lint/Syntax:
Enabled: true
Lint/UnderscorePrefixedVariableName:
Enabled: true
Lint/UnifiedInteger:
Enabled: true
Lint/RedundantCopDisableDirective:
Enabled: true
Lint/RedundantCopEnableDirective:
Enabled: true
Lint/RedundantRequireStatement:
Enabled: true
Lint/RedundantSplatExpansion:
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/BinaryOperatorWithIdenticalOperands:
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
Layout/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/BlockParameterName:
Enabled: true
Naming/MethodParameterName:
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
Exclude:
- "app/services/administrateur_usage_statistics_service.rb"
Performance/Detect:
Enabled: true
Performance/DoubleStartEndWith:
Enabled: true
Performance/EndWith:
Enabled: true
Performance/FixedSize:
Enabled: true
Performance/FlatMap:
Enabled: true
Performance/RangeInclude:
Enabled: true
Performance/RedundantBlockCall:
Enabled: true
Performance/RedundantMatch:
Enabled: true
Performance/RedundantMerge:
Enabled: true
Style/RedundantSortBy:
Enabled: true
Performance/RegexpMatch:
Enabled: true
Performance/ReverseEach:
Enabled: true
Style/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/ApplicationController:
Enabled: false
Rails/RakeEnvironment:
Enabled: false
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
- db/migrate/20200630140356_create_traitements.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: false
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/RedundantAllowNil:
Enabled: false
Rails/RedundantReceiverInWithOptions:
Enabled: true
Rails/RelativeDateConstant:
Enabled: true
Rails/RequestReferer:
Enabled: true
Rails/ReversibleMigration:
Enabled: false
Rails/SaveBang:
Enabled: false
Rails/ScopeArgs:
Enabled: true
Rails/SkipsModelValidations:
Enabled: false
Rails/TimeZone:
EnforcedStyle: strict
Rails/UniqBeforePluck:
Enabled: true
Rails/UniqueValidationWithoutIndex:
Enabled: false
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/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/For:
Enabled: true
Style/FormatString:
Enabled: true
Style/FormatStringToken:
Enabled: false
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
Lint/MissingSuper:
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/RedundantCapitalW:
Enabled: true
Style/RedundantInterpolation:
Enabled: true
Style/RedundantPercentQ:
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
Rails/ActiveRecordCallbacksOrder:
Enabled: false
Rails/AfterCommitOverride:
Enabled: true
Rails/AttributeDefaultBlockValue:
Enabled: true
Rails/FindById:
Enabled: true
Rails/Inquiry:
Enabled: true
Rails/MailerName:
Enabled: true
Rails/MatchRoute:
Enabled: true
Rails/NegateInclude:
Enabled: false
Rails/Pluck:
Enabled: false
Rails/PluckInWhere:
Enabled: true
Rails/RenderInline:
Enabled: true
Rails/RenderPlainText:
Enabled: true
Rails/ShortI18n:
Enabled: true
Rails/SquishedSQLHeredocs:
Enabled: true
Rails/WhereEquals:
Enabled: true
Rails/WhereExists:
Enabled: true
Rails/WhereNot:
Enabled: true