135375f98Sopenharmony_ci# This is the configuration used to check the rubocop source code.
235375f98Sopenharmony_ci
335375f98Sopenharmony_ci#inherit_from: .rubocop_todo.yml
435375f98Sopenharmony_ci
535375f98Sopenharmony_ciAllCops:
635375f98Sopenharmony_ci  TargetRubyVersion: 3.0
735375f98Sopenharmony_ci
835375f98Sopenharmony_ci# These are areas where ThrowTheSwitch's coding style diverges from the Ruby standard
935375f98Sopenharmony_ciStyle/SpecialGlobalVars:
1035375f98Sopenharmony_ci  EnforcedStyle: use_perl_names
1135375f98Sopenharmony_ciStyle/FormatString:
1235375f98Sopenharmony_ci  Enabled: false
1335375f98Sopenharmony_ciStyle/GlobalVars:
1435375f98Sopenharmony_ci  Enabled: false
1535375f98Sopenharmony_ciStyle/FrozenStringLiteralComment:
1635375f98Sopenharmony_ci  Enabled: false
1735375f98Sopenharmony_ciStyle/RegexpLiteral:
1835375f98Sopenharmony_ci  AllowInnerSlashes: true
1935375f98Sopenharmony_ciStyle/HashSyntax:
2035375f98Sopenharmony_ci  EnforcedStyle: no_mixed_keys
2135375f98Sopenharmony_ciStyle/NumericPredicate:
2235375f98Sopenharmony_ci  Enabled: false
2335375f98Sopenharmony_ciStyle/MultilineBlockChain:
2435375f98Sopenharmony_ci  Enabled: false
2535375f98Sopenharmony_ciStyle/Alias:
2635375f98Sopenharmony_ci  Enabled: false
2735375f98Sopenharmony_ciStyle/EvalWithLocation:
2835375f98Sopenharmony_ci  Enabled: false
2935375f98Sopenharmony_ciStyle/MixinUsage:
3035375f98Sopenharmony_ci  Enabled: false
3135375f98Sopenharmony_ciStyle/OptionalBooleanParameter:
3235375f98Sopenharmony_ci  Enabled: false
3335375f98Sopenharmony_ci
3435375f98Sopenharmony_ci# These are also places we diverge... but we will likely comply down the road
3535375f98Sopenharmony_ciStyle/IfUnlessModifier:
3635375f98Sopenharmony_ci  Enabled: false
3735375f98Sopenharmony_ciStyle/FormatStringToken:
3835375f98Sopenharmony_ci  Enabled: false
3935375f98Sopenharmony_ci
4035375f98Sopenharmony_ci# This is disabled because it seems to get confused over nested hashes
4135375f98Sopenharmony_ciLayout/HashAlignment:
4235375f98Sopenharmony_ci  Enabled: false
4335375f98Sopenharmony_ci  EnforcedHashRocketStyle: table
4435375f98Sopenharmony_ci  EnforcedColonStyle: table
4535375f98Sopenharmony_ciLayout/LineLength:
4635375f98Sopenharmony_ci  Enabled: false
4735375f98Sopenharmony_ci
4835375f98Sopenharmony_ci# We purposefully use these insecure features because they're what makes Ruby awesome
4935375f98Sopenharmony_ciSecurity/Eval:
5035375f98Sopenharmony_ci  Enabled: false
5135375f98Sopenharmony_ciSecurity/YAMLLoad:
5235375f98Sopenharmony_ci  Enabled: false
5335375f98Sopenharmony_ci
5435375f98Sopenharmony_ci# At this point, we're not ready to enforce inline documentation requirements
5535375f98Sopenharmony_ciStyle/Documentation:
5635375f98Sopenharmony_ci  Enabled: false
5735375f98Sopenharmony_ciStyle/DocumentationMethod:
5835375f98Sopenharmony_ci  Enabled: false
5935375f98Sopenharmony_ci
6035375f98Sopenharmony_ci# At this point, we're not ready to enforce any metrics
6135375f98Sopenharmony_ciMetrics/AbcSize:
6235375f98Sopenharmony_ci  Enabled: false
6335375f98Sopenharmony_ciMetrics/BlockLength:
6435375f98Sopenharmony_ci  Enabled: false
6535375f98Sopenharmony_ciMetrics/BlockNesting:
6635375f98Sopenharmony_ci  Enabled: false
6735375f98Sopenharmony_ciMetrics/ClassLength:
6835375f98Sopenharmony_ci  Enabled: false
6935375f98Sopenharmony_ciMetrics/CyclomaticComplexity:
7035375f98Sopenharmony_ci  Enabled: false
7135375f98Sopenharmony_ciMetrics/MethodLength:
7235375f98Sopenharmony_ci  Enabled: false
7335375f98Sopenharmony_ciMetrics/ModuleLength:
7435375f98Sopenharmony_ci  Enabled: false
7535375f98Sopenharmony_ciMetrics/ParameterLists:
7635375f98Sopenharmony_ci  Enabled: false
7735375f98Sopenharmony_ciMetrics/PerceivedComplexity:
7835375f98Sopenharmony_ci  Enabled: false
79