Release prep v9.1.0
[puppet-modules/puppetlabs-apt.git] / .rubocop.yml
1 ---
2 inherit_from: .rubocop_todo.yml
3
4 require:
5 - rubocop-performance
6 - rubocop-rspec
7 AllCops:
8   DisplayCopNames: true
9   TargetRubyVersion: '2.6'
10   Include:
11   - "**/*.rb"
12   Exclude:
13   - bin/*
14   - ".vendor/**/*"
15   - "**/Gemfile"
16   - "**/Rakefile"
17   - pkg/**/*
18   - spec/fixtures/**/*
19   - vendor/**/*
20   - "**/Puppetfile"
21   - "**/Vagrantfile"
22   - "**/Guardfile"
23 Layout/LineLength:
24   Description: People have wide screens, use them.
25   Max: 200
26 RSpec/BeforeAfterAll:
27   Description: Beware of using after(:all) as it may cause state to leak between tests.
28     A necessary evil in acceptance testing.
29   Exclude:
30   - spec/acceptance/**/*.rb
31 RSpec/HookArgument:
32   Description: Prefer explicit :each argument, matching existing module's style
33   EnforcedStyle: each
34 RSpec/DescribeSymbol:
35   Exclude:
36   - spec/unit/facter/**/*.rb
37 Style/BlockDelimiters:
38   Description: Prefer braces for chaining. Mostly an aesthetical choice. Better to
39     be consistent then.
40   EnforcedStyle: braces_for_chaining
41 Style/ClassAndModuleChildren:
42   Description: Compact style reduces the required amount of indentation.
43   EnforcedStyle: compact
44 Style/EmptyElse:
45   Description: Enforce against empty else clauses, but allow `nil` for clarity.
46   EnforcedStyle: empty
47 Style/FormatString:
48   Description: Following the main puppet project's style, prefer the % format format.
49   EnforcedStyle: percent
50 Style/FormatStringToken:
51   Description: Following the main puppet project's style, prefer the simpler template
52     tokens over annotated ones.
53   EnforcedStyle: template
54 Style/Lambda:
55   Description: Prefer the keyword for easier discoverability.
56   EnforcedStyle: literal
57 Style/RegexpLiteral:
58   Description: Community preference. See https://github.com/voxpupuli/modulesync_config/issues/168
59   EnforcedStyle: percent_r
60 Style/TernaryParentheses:
61   Description: Checks for use of parentheses around ternary conditions. Enforce parentheses
62     on complex expressions for better readability, but seriously consider breaking
63     it up.
64   EnforcedStyle: require_parentheses_when_complex
65 Style/TrailingCommaInArguments:
66   Description: Prefer always trailing comma on multiline argument lists. This makes
67     diffs, and re-ordering nicer.
68   EnforcedStyleForMultiline: comma
69 Style/TrailingCommaInArrayLiteral:
70   Description: Prefer always trailing comma on multiline literals. This makes diffs,
71     and re-ordering nicer.
72   EnforcedStyleForMultiline: comma
73 Style/SymbolArray:
74   Description: Using percent style obscures symbolic intent of array's contents.
75   EnforcedStyle: brackets
76 RSpec/MessageSpies:
77   EnforcedStyle: receive
78 Style/Documentation:
79   Exclude:
80   - lib/puppet/parser/functions/**/*
81   - spec/**/*
82 Style/WordArray:
83   EnforcedStyle: brackets
84 Performance/AncestorsInclude:
85   Enabled: true
86 Performance/BigDecimalWithNumericArgument:
87   Enabled: true
88 Performance/BlockGivenWithExplicitBlock:
89   Enabled: true
90 Performance/CaseWhenSplat:
91   Enabled: true
92 Performance/ConstantRegexp:
93   Enabled: true
94 Performance/MethodObjectAsBlock:
95   Enabled: true
96 Performance/RedundantSortBlock:
97   Enabled: true
98 Performance/RedundantStringChars:
99   Enabled: true
100 Performance/ReverseFirst:
101   Enabled: true
102 Performance/SortReverse:
103   Enabled: true
104 Performance/Squeeze:
105   Enabled: true
106 Performance/StringInclude:
107   Enabled: true
108 Performance/Sum:
109   Enabled: true
110 Style/CollectionMethods:
111   Enabled: true
112 Style/MethodCalledOnDoEndBlock:
113   Enabled: true
114 Style/StringMethods:
115   Enabled: true
116 Bundler/GemFilename:
117   Enabled: false
118 Bundler/InsecureProtocolSource:
119   Enabled: false
120 Capybara/CurrentPathExpectation:
121   Enabled: false
122 Capybara/VisibilityMatcher:
123   Enabled: false
124 Gemspec/DuplicatedAssignment:
125   Enabled: false
126 Gemspec/OrderedDependencies:
127   Enabled: false
128 Gemspec/RequiredRubyVersion:
129   Enabled: false
130 Gemspec/RubyVersionGlobalsUsage:
131   Enabled: false
132 Layout/ArgumentAlignment:
133   Enabled: false
134 Layout/BeginEndAlignment:
135   Enabled: false
136 Layout/ClosingHeredocIndentation:
137   Enabled: false
138 Layout/EmptyComment:
139   Enabled: false
140 Layout/EmptyLineAfterGuardClause:
141   Enabled: false
142 Layout/EmptyLinesAroundArguments:
143   Enabled: false
144 Layout/EmptyLinesAroundAttributeAccessor:
145   Enabled: false
146 Layout/EndOfLine:
147   Enabled: false
148 Layout/FirstArgumentIndentation:
149   Enabled: false
150 Layout/HashAlignment:
151   Enabled: false
152 Layout/HeredocIndentation:
153   Enabled: false
154 Layout/LeadingEmptyLines:
155   Enabled: false
156 Layout/SpaceAroundMethodCallOperator:
157   Enabled: false
158 Layout/SpaceInsideArrayLiteralBrackets:
159   Enabled: false
160 Layout/SpaceInsideReferenceBrackets:
161   Enabled: false
162 Lint/BigDecimalNew:
163   Enabled: false
164 Lint/BooleanSymbol:
165   Enabled: false
166 Lint/ConstantDefinitionInBlock:
167   Enabled: false
168 Lint/DeprecatedOpenSSLConstant:
169   Enabled: false
170 Lint/DisjunctiveAssignmentInConstructor:
171   Enabled: false
172 Lint/DuplicateElsifCondition:
173   Enabled: false
174 Lint/DuplicateRequire:
175   Enabled: false
176 Lint/DuplicateRescueException:
177   Enabled: false
178 Lint/EmptyConditionalBody:
179   Enabled: false
180 Lint/EmptyFile:
181   Enabled: false
182 Lint/ErbNewArguments:
183   Enabled: false
184 Lint/FloatComparison:
185   Enabled: false
186 Lint/HashCompareByIdentity:
187   Enabled: false
188 Lint/IdentityComparison:
189   Enabled: false
190 Lint/InterpolationCheck:
191   Enabled: false
192 Lint/MissingCopEnableDirective:
193   Enabled: false
194 Lint/MixedRegexpCaptureTypes:
195   Enabled: false
196 Lint/NestedPercentLiteral:
197   Enabled: false
198 Lint/NonDeterministicRequireOrder:
199   Enabled: false
200 Lint/OrderedMagicComments:
201   Enabled: false
202 Lint/OutOfRangeRegexpRef:
203   Enabled: false
204 Lint/RaiseException:
205   Enabled: false
206 Lint/RedundantCopEnableDirective:
207   Enabled: false
208 Lint/RedundantRequireStatement:
209   Enabled: false
210 Lint/RedundantSafeNavigation:
211   Enabled: false
212 Lint/RedundantWithIndex:
213   Enabled: false
214 Lint/RedundantWithObject:
215   Enabled: false
216 Lint/RegexpAsCondition:
217   Enabled: false
218 Lint/ReturnInVoidContext:
219   Enabled: false
220 Lint/SafeNavigationConsistency:
221   Enabled: false
222 Lint/SafeNavigationWithEmpty:
223   Enabled: false
224 Lint/SelfAssignment:
225   Enabled: false
226 Lint/SendWithMixinArgument:
227   Enabled: false
228 Lint/ShadowedArgument:
229   Enabled: false
230 Lint/StructNewOverride:
231   Enabled: false
232 Lint/ToJSON:
233   Enabled: false
234 Lint/TopLevelReturnWithArgument:
235   Enabled: false
236 Lint/TrailingCommaInAttributeDeclaration:
237   Enabled: false
238 Lint/UnreachableLoop:
239   Enabled: false
240 Lint/UriEscapeUnescape:
241   Enabled: false
242 Lint/UriRegexp:
243   Enabled: false
244 Lint/UselessMethodDefinition:
245   Enabled: false
246 Lint/UselessTimes:
247   Enabled: false
248 Metrics/AbcSize:
249   Enabled: false
250 Metrics/BlockLength:
251   Enabled: false
252 Metrics/BlockNesting:
253   Enabled: false
254 Metrics/ClassLength:
255   Enabled: false
256 Metrics/CyclomaticComplexity:
257   Enabled: false
258 Metrics/MethodLength:
259   Enabled: false
260 Metrics/ModuleLength:
261   Enabled: false
262 Metrics/ParameterLists:
263   Enabled: false
264 Metrics/PerceivedComplexity:
265   Enabled: false
266 Migration/DepartmentName:
267   Enabled: false
268 Naming/AccessorMethodName:
269   Enabled: false
270 Naming/BlockParameterName:
271   Enabled: false
272 Naming/HeredocDelimiterCase:
273   Enabled: false
274 Naming/HeredocDelimiterNaming:
275   Enabled: false
276 Naming/MemoizedInstanceVariableName:
277   Enabled: false
278 Naming/MethodParameterName:
279   Enabled: false
280 Naming/RescuedExceptionsVariableName:
281   Enabled: false
282 Naming/VariableNumber:
283   Enabled: false
284 Performance/BindCall:
285   Enabled: false
286 Performance/DeletePrefix:
287   Enabled: false
288 Performance/DeleteSuffix:
289   Enabled: false
290 Performance/InefficientHashSearch:
291   Enabled: false
292 Performance/UnfreezeString:
293   Enabled: false
294 Performance/UriDefaultParser:
295   Enabled: false
296 RSpec/Be:
297   Enabled: false
298 RSpec/Capybara/FeatureMethods:
299   Enabled: false
300 RSpec/ContainExactly:
301   Enabled: false
302 RSpec/ContextMethod:
303   Enabled: false
304 RSpec/ContextWording:
305   Enabled: false
306 RSpec/DescribeClass:
307   Enabled: false
308 RSpec/EmptyHook:
309   Enabled: false
310 RSpec/EmptyLineAfterExample:
311   Enabled: false
312 RSpec/EmptyLineAfterExampleGroup:
313   Enabled: false
314 RSpec/EmptyLineAfterHook:
315   Enabled: false
316 RSpec/ExampleLength:
317   Enabled: false
318 RSpec/ExampleWithoutDescription:
319   Enabled: false
320 RSpec/ExpectChange:
321   Enabled: false
322 RSpec/ExpectInHook:
323   Enabled: false
324 RSpec/FactoryBot/AttributeDefinedStatically:
325   Enabled: false
326 RSpec/FactoryBot/CreateList:
327   Enabled: false
328 RSpec/FactoryBot/FactoryClassName:
329   Enabled: false
330 RSpec/HooksBeforeExamples:
331   Enabled: false
332 RSpec/ImplicitBlockExpectation:
333   Enabled: false
334 RSpec/ImplicitSubject:
335   Enabled: false
336 RSpec/LeakyConstantDeclaration:
337   Enabled: false
338 RSpec/LetBeforeExamples:
339   Enabled: false
340 RSpec/MatchArray:
341   Enabled: false
342 RSpec/MissingExampleGroupArgument:
343   Enabled: false
344 RSpec/MultipleExpectations:
345   Enabled: false
346 RSpec/MultipleMemoizedHelpers:
347   Enabled: false
348 RSpec/MultipleSubjects:
349   Enabled: false
350 RSpec/NestedGroups:
351   Enabled: false
352 RSpec/PredicateMatcher:
353   Enabled: false
354 RSpec/ReceiveCounts:
355   Enabled: false
356 RSpec/ReceiveNever:
357   Enabled: false
358 RSpec/RepeatedExampleGroupBody:
359   Enabled: false
360 RSpec/RepeatedExampleGroupDescription:
361   Enabled: false
362 RSpec/RepeatedIncludeExample:
363   Enabled: false
364 RSpec/ReturnFromStub:
365   Enabled: false
366 RSpec/SharedExamples:
367   Enabled: false
368 RSpec/StubbedMock:
369   Enabled: false
370 RSpec/UnspecifiedException:
371   Enabled: false
372 RSpec/VariableDefinition:
373   Enabled: false
374 RSpec/VoidExpect:
375   Enabled: false
376 RSpec/Yield:
377   Enabled: false
378 Security/Open:
379   Enabled: false
380 Style/AccessModifierDeclarations:
381   Enabled: false
382 Style/AccessorGrouping:
383   Enabled: false
384 Style/BisectedAttrAccessor:
385   Enabled: false
386 Style/CaseLikeIf:
387   Enabled: false
388 Style/ClassEqualityComparison:
389   Enabled: false
390 Style/ColonMethodDefinition:
391   Enabled: false
392 Style/CombinableLoops:
393   Enabled: false
394 Style/CommentedKeyword:
395   Enabled: false
396 Style/Dir:
397   Enabled: false
398 Style/DoubleCopDisableDirective:
399   Enabled: false
400 Style/EmptyBlockParameter:
401   Enabled: false
402 Style/EmptyLambdaParameter:
403   Enabled: false
404 Style/Encoding:
405   Enabled: false
406 Style/EvalWithLocation:
407   Enabled: false
408 Style/ExpandPathArguments:
409   Enabled: false
410 Style/ExplicitBlockArgument:
411   Enabled: false
412 Style/ExponentialNotation:
413   Enabled: false
414 Style/FloatDivision:
415   Enabled: false
416 Style/FrozenStringLiteralComment:
417   Enabled: false
418 Style/GlobalStdStream:
419   Enabled: false
420 Style/HashAsLastArrayItem:
421   Enabled: false
422 Style/HashLikeCase:
423   Enabled: false
424 Style/HashTransformKeys:
425   Enabled: false
426 Style/HashTransformValues:
427   Enabled: false
428 Style/IfUnlessModifier:
429   Enabled: false
430 Style/KeywordParametersOrder:
431   Enabled: false
432 Style/MinMax:
433   Enabled: false
434 Style/MixinUsage:
435   Enabled: false
436 Style/MultilineWhenThen:
437   Enabled: false
438 Style/NegatedUnless:
439   Enabled: false
440 Style/NumericPredicate:
441   Enabled: false
442 Style/OptionalBooleanParameter:
443   Enabled: false
444 Style/OrAssignment:
445   Enabled: false
446 Style/RandomWithOffset:
447   Enabled: false
448 Style/RedundantAssignment:
449   Enabled: false
450 Style/RedundantCondition:
451   Enabled: false
452 Style/RedundantConditional:
453   Enabled: false
454 Style/RedundantFetchBlock:
455   Enabled: false
456 Style/RedundantFileExtensionInRequire:
457   Enabled: false
458 Style/RedundantRegexpCharacterClass:
459   Enabled: false
460 Style/RedundantRegexpEscape:
461   Enabled: false
462 Style/RedundantSelfAssignment:
463   Enabled: false
464 Style/RedundantSort:
465   Enabled: false
466 Style/RescueStandardError:
467   Enabled: false
468 Style/SingleArgumentDig:
469   Enabled: false
470 Style/SlicingWithRange:
471   Enabled: false
472 Style/SoleNestedConditional:
473   Enabled: false
474 Style/StderrPuts:
475   Enabled: false
476 Style/StringConcatenation:
477   Enabled: false
478 Style/Strip:
479   Enabled: false
480 Style/SymbolProc:
481   Enabled: false
482 Style/TrailingBodyOnClass:
483   Enabled: false
484 Style/TrailingBodyOnMethodDefinition:
485   Enabled: false
486 Style/TrailingBodyOnModule:
487   Enabled: false
488 Style/TrailingCommaInHashLiteral:
489   Enabled: false
490 Style/TrailingMethodEndStatement:
491   Enabled: false
492 Style/UnpackFirst:
493   Enabled: false
494 Capybara/MatchStyle:
495   Enabled: false
496 Capybara/NegationMatcher:
497   Enabled: false
498 Capybara/SpecificActions:
499   Enabled: false
500 Capybara/SpecificFinders:
501   Enabled: false
502 Capybara/SpecificMatcher:
503   Enabled: false
504 Gemspec/DeprecatedAttributeAssignment:
505   Enabled: false
506 Gemspec/DevelopmentDependencies:
507   Enabled: false
508 Gemspec/RequireMFA:
509   Enabled: false
510 Layout/LineContinuationLeadingSpace:
511   Enabled: false
512 Layout/LineContinuationSpacing:
513   Enabled: false
514 Layout/LineEndStringConcatenationIndentation:
515   Enabled: false
516 Layout/SpaceBeforeBrackets:
517   Enabled: false
518 Lint/AmbiguousAssignment:
519   Enabled: false
520 Lint/AmbiguousOperatorPrecedence:
521   Enabled: false
522 Lint/AmbiguousRange:
523   Enabled: false
524 Lint/ConstantOverwrittenInRescue:
525   Enabled: false
526 Lint/DeprecatedConstants:
527   Enabled: false
528 Lint/DuplicateBranch:
529   Enabled: false
530 Lint/DuplicateMagicComment:
531   Enabled: false
532 Lint/DuplicateRegexpCharacterClassElement:
533   Enabled: false
534 Lint/EmptyBlock:
535   Enabled: false
536 Lint/EmptyClass:
537   Enabled: false
538 Lint/EmptyInPattern:
539   Enabled: false
540 Lint/IncompatibleIoSelectWithFiberScheduler:
541   Enabled: false
542 Lint/LambdaWithoutLiteralBlock:
543   Enabled: false
544 Lint/NoReturnInBeginEndBlocks:
545   Enabled: false
546 Lint/NonAtomicFileOperation:
547   Enabled: false
548 Lint/NumberedParameterAssignment:
549   Enabled: false
550 Lint/OrAssignmentToConstant:
551   Enabled: false
552 Lint/RedundantDirGlobSort:
553   Enabled: false
554 Lint/RefinementImportMethods:
555   Enabled: false
556 Lint/RequireRangeParentheses:
557   Enabled: false
558 Lint/RequireRelativeSelfPath:
559   Enabled: false
560 Lint/SymbolConversion:
561   Enabled: false
562 Lint/ToEnumArguments:
563   Enabled: false
564 Lint/TripleQuotes:
565   Enabled: false
566 Lint/UnexpectedBlockArity:
567   Enabled: false
568 Lint/UnmodifiedReduceAccumulator:
569   Enabled: false
570 Lint/UselessRescue:
571   Enabled: false
572 Lint/UselessRuby2Keywords:
573   Enabled: false
574 Metrics/CollectionLiteralLength:
575   Enabled: false
576 Naming/BlockForwarding:
577   Enabled: false
578 Performance/CollectionLiteralInLoop:
579   Enabled: false
580 Performance/ConcurrentMonotonicTime:
581   Enabled: false
582 Performance/MapCompact:
583   Enabled: false
584 Performance/RedundantEqualityComparisonBlock:
585   Enabled: false
586 Performance/RedundantSplitRegexpArgument:
587   Enabled: false
588 Performance/StringIdentifierArgument:
589   Enabled: false
590 RSpec/BeEq:
591   Enabled: false
592 RSpec/BeNil:
593   Enabled: false
594 RSpec/ChangeByZero:
595   Enabled: false
596 RSpec/ClassCheck:
597   Enabled: false
598 RSpec/DuplicatedMetadata:
599   Enabled: false
600 RSpec/ExcessiveDocstringSpacing:
601   Enabled: false
602 RSpec/FactoryBot/ConsistentParenthesesStyle:
603   Enabled: false
604 RSpec/FactoryBot/FactoryNameStyle:
605   Enabled: false
606 RSpec/FactoryBot/SyntaxMethods:
607   Enabled: false
608 RSpec/IdenticalEqualityAssertion:
609   Enabled: false
610 RSpec/NoExpectationExample:
611   Enabled: false
612 RSpec/PendingWithoutReason:
613   Enabled: false
614 RSpec/Rails/AvoidSetupHook:
615   Enabled: false
616 RSpec/Rails/HaveHttpStatus:
617   Enabled: false
618 RSpec/Rails/InferredSpecType:
619   Enabled: false
620 RSpec/Rails/MinitestAssertions:
621   Enabled: false
622 RSpec/Rails/TravelAround:
623   Enabled: false
624 RSpec/RedundantAround:
625   Enabled: false
626 RSpec/SkipBlockInsideExample:
627   Enabled: false
628 RSpec/SortMetadata:
629   Enabled: false
630 RSpec/SubjectDeclaration:
631   Enabled: false
632 RSpec/VerifiedDoubleReference:
633   Enabled: false
634 Security/CompoundHash:
635   Enabled: false
636 Security/IoMethods:
637   Enabled: false
638 Style/ArgumentsForwarding:
639   Enabled: false
640 Style/ArrayIntersect:
641   Enabled: false
642 Style/CollectionCompact:
643   Enabled: false
644 Style/ComparableClamp:
645   Enabled: false
646 Style/ConcatArrayLiterals:
647   Enabled: false
648 Style/DirEmpty:
649   Enabled: false
650 Style/DocumentDynamicEvalDefinition:
651   Enabled: false
652 Style/EmptyHeredoc:
653   Enabled: false
654 Style/EndlessMethod:
655   Enabled: false
656 Style/EnvHome:
657   Enabled: false
658 Style/FetchEnvVar:
659   Enabled: false
660 Style/FileEmpty:
661   Enabled: false
662 Style/FileRead:
663   Enabled: false
664 Style/FileWrite:
665   Enabled: false
666 Style/HashConversion:
667   Enabled: false
668 Style/HashExcept:
669   Enabled: false
670 Style/IfWithBooleanLiteralBranches:
671   Enabled: false
672 Style/InPatternThen:
673   Enabled: false
674 Style/MagicCommentFormat:
675   Enabled: false
676 Style/MapCompactWithConditionalBlock:
677   Enabled: false
678 Style/MapToHash:
679   Enabled: false
680 Style/MapToSet:
681   Enabled: false
682 Style/MinMaxComparison:
683   Enabled: false
684 Style/MultilineInPatternThen:
685   Enabled: false
686 Style/NegatedIfElseCondition:
687   Enabled: false
688 Style/NestedFileDirname:
689   Enabled: false
690 Style/NilLambda:
691   Enabled: false
692 Style/NumberedParameters:
693   Enabled: false
694 Style/NumberedParametersLimit:
695   Enabled: false
696 Style/ObjectThen:
697   Enabled: false
698 Style/OpenStructUse:
699   Enabled: false
700 Style/OperatorMethodCall:
701   Enabled: false
702 Style/QuotedSymbols:
703   Enabled: false
704 Style/RedundantArgument:
705   Enabled: false
706 Style/RedundantConstantBase:
707   Enabled: false
708 Style/RedundantDoubleSplatHashBraces:
709   Enabled: false
710 Style/RedundantEach:
711   Enabled: false
712 Style/RedundantHeredocDelimiterQuotes:
713   Enabled: false
714 Style/RedundantInitialize:
715   Enabled: false
716 Style/RedundantSelfAssignmentBranch:
717   Enabled: false
718 Style/RedundantStringEscape:
719   Enabled: false
720 Style/SelectByRegexp:
721   Enabled: false
722 Style/StringChars:
723   Enabled: false
724 Style/SwapValues:
725   Enabled: false