dry-types/.rubocop.yml

266 lines
4.0 KiB
YAML

# This is a config synced from dry-rb/template-gem repo
AllCops:
TargetRubyVersion: 2.7
NewCops: disable
Exclude:
- benchmarks/*.rb
- spec/support/coverage.rb
- spec/support/warnings.rb
- spec/support/rspec_options.rb
- Gemfile.devtools
- "*.gemspec"
Layout/SpaceAroundMethodCallOperator:
Enabled: false
Layout/SpaceInLambdaLiteral:
Enabled: false
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
Layout/FirstArrayElementIndentation:
EnforcedStyle: consistent
Layout/SpaceInsideHashLiteralBraces:
Enabled: true
EnforcedStyle: no_space
EnforcedStyleForEmptyBraces: no_space
Layout/LineLength:
Max: 100
Exclude:
- "spec/**/*.rb"
Lint/AmbiguousBlockAssociation:
Enabled: true
# because 'expect { foo }.to change { bar }' is fine
Exclude:
- "spec/**/*.rb"
Lint/BooleanSymbol:
Enabled: false
Lint/ConstantDefinitionInBlock:
Exclude:
- "spec/**/*.rb"
Lint/RaiseException:
Enabled: false
Lint/StructNewOverride:
Enabled: false
Lint/SuppressedException:
Exclude:
- "spec/spec_helper.rb"
Lint/LiteralAsCondition:
Exclude:
- "spec/**/*.rb"
Naming/PredicateName:
Enabled: false
Naming/FileName:
Exclude:
- "lib/*-*.rb"
Naming/MethodName:
Enabled: false
Naming/MethodParameterName:
Enabled: false
Naming/MemoizedInstanceVariableName:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/AbcSize:
Max: 25
Metrics/CyclomaticComplexity:
Enabled: true
Max: 12
Style/ExponentialNotation:
Enabled: false
Style/HashEachMethods:
Enabled: false
Style/HashTransformKeys:
Enabled: false
Style/HashTransformValues:
Enabled: false
Style/AccessModifierDeclarations:
Enabled: false
Style/Alias:
Enabled: true
EnforcedStyle: prefer_alias_method
Style/AsciiComments:
Enabled: false
Style/BlockDelimiters:
Enabled: false
Style/ClassAndModuleChildren:
Exclude:
- "spec/**/*.rb"
Style/ConditionalAssignment:
Enabled: false
Style/DateTime:
Enabled: false
Style/Documentation:
Enabled: false
Style/EachWithObject:
Enabled: false
Style/FormatString:
Enabled: false
Style/FormatStringToken:
Enabled: false
Style/GuardClause:
Enabled: false
Style/IfUnlessModifier:
Enabled: false
Style/Lambda:
Enabled: false
Style/LambdaCall:
Enabled: false
Style/ParallelAssignment:
Enabled: false
Style/RaiseArgs:
Enabled: false
Style/StabbyLambdaParentheses:
Enabled: false
Style/StringLiterals:
Enabled: true
EnforcedStyle: double_quotes
ConsistentQuotesInMultiline: false
Style/StringLiteralsInInterpolation:
Enabled: true
EnforcedStyle: double_quotes
Style/SymbolArray:
Exclude:
- "spec/**/*.rb"
Style/TrailingUnderscoreVariable:
Enabled: false
Style/MultipleComparison:
Enabled: false
Style/Next:
Enabled: false
Style/AccessorGrouping:
Enabled: false
Style/EmptyLiteral:
Enabled: false
Style/Semicolon:
Exclude:
- "spec/**/*.rb"
Style/HashAsLastArrayItem:
Exclude:
- "spec/**/*.rb"
Style/CaseEquality:
Exclude:
- "lib/dry/monads/**/*.rb"
- "lib/dry/struct/**/*.rb"
- "lib/dry/types/**/*.rb"
- "spec/**/*.rb"
Style/ExplicitBlockArgument:
Exclude:
- "lib/dry/types/**/*.rb"
Style/CombinableLoops:
Enabled: false
Style/EmptyElse:
Enabled: false
Style/DoubleNegation:
Enabled: false
Style/MultilineBlockChain:
Enabled: false
Style/NumberedParametersLimit:
Max: 2
Lint/UnusedBlockArgument:
Exclude:
- "spec/**/*.rb"
Lint/Debugger:
Exclude:
- "bin/console"
Lint/BinaryOperatorWithIdenticalOperands:
Exclude:
- "spec/**/*.rb"
Metrics/ParameterLists:
Exclude:
- "spec/**/*.rb"
Lint/EmptyBlock:
Exclude:
- "spec/**/*.rb"
Lint/UselessMethodDefinition:
Exclude:
- "spec/**/*.rb"
Lint/SelfAssignment:
Enabled: false
Lint/EmptyClass:
Enabled: false
Naming/ConstantName:
Exclude:
- "spec/**/*.rb"
Naming/VariableNumber:
Exclude:
- "spec/**/*.rb"
Naming/BinaryOperatorParameterName:
Enabled: false