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