# inherit_from: .rubocop_todo.yml AllCops: TargetRubyVersion: 2.7 Naming/PredicateName: AllowedMethods: - is_enabled? - is_disabled? Metrics/ClassLength: Max: 135 CountAsOne: - 'method_call' Exclude: - 'lib/unleash/feature_toggle.rb' Layout/LineLength: Max: 140 Metrics/MethodLength: Max: 20 Metrics/BlockLength: Max: 110 Exclude: - 'spec/**/*.rb' Metrics/AbcSize: Max: 30 Metrics/CyclomaticComplexity: Max: 10 Metrics/PerceivedComplexity: Max: 10 Style/Documentation: Enabled: false Style/StringLiterals: Enabled: false Style/RedundantSelf: Enabled: false Style/OptionalBooleanParameter: Enabled: false Style/SymbolArray: EnforcedStyle: brackets Style/WordArray: EnforcedStyle: brackets Style/PreferredHashMethods: EnforcedStyle: verbose Style/FrozenStringLiteralComment: EnforcedStyle: never Style/GuardClause: MinBodyLength: 8 Style/HashEachMethods: Enabled: true Style/HashTransformKeys: Enabled: true Style/HashTransformValues: Enabled: true Style/EmptyElse: Exclude: - 'lib/unleash/strategy/flexible_rollout.rb' Style/DoubleNegation: Enabled: false Style/IfInsideElse: Exclude: - 'bin/unleash-client' Style/Next: Exclude: - 'lib/unleash/scheduled_executor.rb' Style/AccessorGrouping: Enabled: true Style/BisectedAttrAccessor: Enabled: true Style/CaseLikeIf: Enabled: true #Style/ClassEqualityComparison: # Enabled: true Style/CombinableLoops: Enabled: true Style/ExplicitBlockArgument: Enabled: true Style/ExponentialNotation: Enabled: true #Style/GlobalStdStream: # Enabled: true Style/HashAsLastArrayItem: Enabled: true Style/HashLikeCase: Enabled: true Style/KeywordParametersOrder: Enabled: true #Style/OptionalBooleanParameter: # Enabled: false Style/RedundantAssignment: Enabled: true Style/RedundantFetchBlock: Enabled: true Style/RedundantFileExtensionInRequire: Enabled: true Style/RedundantRegexpCharacterClass: Enabled: true Style/RedundantRegexpEscape: Enabled: true Style/RedundantSelfAssignment: Enabled: true Style/SingleArgumentDig: Enabled: true Style/SlicingWithRange: Enabled: true Style/SoleNestedConditional: Enabled: true Style/StringConcatenation: Enabled: false Style/TrailingCommaInHashLiteral: Enabled: true # EnforcedStyleForMultiline: consistent_comma Layout/BeginEndAlignment: Enabled: true Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/FirstHashElementIndentation: EnforcedStyle: consistent Layout/SpaceAroundMethodCallOperator: Enabled: true Layout/MultilineMethodCallIndentation: EnforcedStyle: indented Layout/SpaceBeforeBlockBraces: EnforcedStyle: no_space Exclude: - 'unleash-client.gemspec' - 'spec/**/*.rb' Lint/BinaryOperatorWithIdenticalOperands: Enabled: true Lint/ConstantDefinitionInBlock: Enabled: false Lint/DeprecatedOpenSSLConstant: Enabled: true Lint/DuplicateElsifCondition: Enabled: true Lint/DuplicateRequire: Enabled: true Lint/DuplicateRescueException: Enabled: true Lint/EmptyConditionalBody: Enabled: true Lint/EmptyFile: Enabled: true Lint/FloatComparison: Enabled: true Lint/HashCompareByIdentity: Enabled: true Lint/IdentityComparison: Enabled: true Lint/MissingSuper: Enabled: false Lint/MixedRegexpCaptureTypes: Enabled: true Lint/OutOfRangeRegexpRef: Enabled: true Lint/RaiseException: Enabled: true Lint/RedundantSafeNavigation: Enabled: true Lint/SelfAssignment: Enabled: true Lint/StructNewOverride: Enabled: true Lint/TopLevelReturnWithArgument: Enabled: true Lint/TrailingCommaInAttributeDeclaration: Enabled: true Lint/UnreachableLoop: Enabled: true Lint/UselessMethodDefinition: Enabled: true Lint/UselessTimes: Enabled: true