tilde.news/.rubocop.yml

278 lines
5.6 KiB
YAML

# Please do not 'fix' style issues without a compelling, metrics-driven
# argument that a style change will materially improve cod equality.
# https://github.com/lobsters/lobsters/pull/460
# Project setup:
require:
- ./extras/prohibit_form_for_and_form_tag.rb
- ./extras/prohibit_safe_navigation.rb
- rubocop-rails
- rubocop-rspec
AllCops:
Include:
- '**/*.rb'
- '**/Rakefile'
- '**/config.ru'
- '**/*.rake'
Exclude:
- Gemfile
- 'bin/**/*'
- 'db/**/*'
- 'vendor/**/*'
UseCache: false
# Cop configuration:
# Bundler
# Gemspec
# Layout
Layout/AccessModifierIndentation:
EnforcedStyle: outdent
Layout/ArrayAlignment:
Enabled: false
Layout/CaseIndentation:
EnforcedStyle: end
Layout/ElseAlignment:
Enabled: false
Layout/EmptyLineAfterGuardClause:
Enabled: false
Layout/EmptyLinesAroundExceptionHandlingKeywords:
Enabled: false
Layout/EndAlignment:
EnforcedStyleAlignWith: variable
Layout/FirstHashElementIndentation:
EnforcedStyle: consistent
Layout/HashAlignment:
Enabled: false
Layout/LineLength:
Max: 100
Layout/MultilineMethodCallBraceLayout:
Enabled: false
Layout/MultilineMethodCallIndentation:
Enabled: false
Layout/SpaceAroundOperators:
Enabled: false
Layout/SpaceInsideBlockBraces:
EnforcedStyle: space
SpaceBeforeBlockParameters: false
Layout/SpaceInsideRangeLiteral:
Enabled: false
# Lint
Lint/SuppressedException:
Enabled: false
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
# Metrics
Metrics/AbcSize:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/BlockNesting:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
Metrics/ParameterLists:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
# Naming
Naming/AccessorMethodName:
Enabled: false
Naming/MemoizedInstanceVariableName:
Enabled: false
Naming/PredicateName:
Enabled: false
# disabled until class vaiables in extras become constants
Naming/MethodParameterName:
Enabled: false
Naming/VariableName:
Enabled: false
# Performance
# Rails
Rails/Blank:
Enabled: false
Rails/FilePath:
Enabled: false
Rails/HttpStatus:
Enabled: false
Rails/OutputSafety:
Enabled: false
Rails/Present:
UnlessBlank: false
Rails/SkipsModelValidations:
Enabled: false
Rails/HelperInstanceVariable:
Enabled: false
# RSpec
RSpec/ExampleLength:
Enabled: false
RSpec/MultipleExpectations:
Enabled: false
RSpec/DescribedClass:
Enabled: false
RSpec/MessageSpies:
Enabled: false
RSpec/VerifiedDoubles:
Enabled: false
RSpec/NotToNot:
Enabled: false
RSpec/ContextWording:
Enabled: false
RSpec/ExpectChange:
Enabled: false
RSpec/HookArgument:
Enabled: false
RSpec/ExampleWording:
Enabled: false
RSpec/NamedSubject:
Enabled: false
RSpec/NestedGroups:
Enabled: false
RSpec/AnyInstance:
Enabled: false
RSpec/UnspecifiedException:
Enabled: false
RSpec/InstanceVariable:
Enabled: false
RSpec/BeforeAfterAll:
Enabled: false
RSpec/DescribeClass:
Enabled: false
RSpec/LetSetup:
Enabled: false
Capybara/FeatureMethods:
Enabled: false
# Security
# Style
Style/AndOr:
EnforcedStyle: conditionals
Style/BlockDelimiters:
Enabled: false
Style/BlockComments:
Enabled: false
Style/CommentedKeyword:
Enabled: false
Style/ClassVars:
Enabled: false
Style/ConditionalAssignment:
Enabled: false
# It would be nice to have this on, but I'm not up for writing 66 of these in
# the process of addressing the initial 4,489 cop warnings.
Style/Documentation:
Enabled: false
Exclude: [db/migrate/**/*, spec/**/*, test/**/*]
Style/DoubleNegation:
Enabled: false
Style/EachWithObject:
Enabled: false
Style/ExpandPathArguments:
Enabled: false
Style/FormatString:
Enabled: false
Style/FormatStringToken:
Enabled: false
Style/FrozenStringLiteralComment:
EnforcedStyle: never
Style/GuardClause:
Enabled: false
Style/HashEachMethods:
Enabled: true
Style/HashSyntax:
EnforcedStyle: no_mixed_keys
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
Style/IfInsideElse:
Enabled: false
Style/IfUnlessModifier:
Enabled: false
Style/InverseMethods:
Enabled: false
Style/Lambda:
Enabled: false
Style/LineEndConcatenation:
Enabled: false
Style/MethodDefParentheses:
Enabled: false
Style/MultilineBlockChain:
Enabled: false
Style/MultilineMemoization:
Enabled: false
Style/MultilineTernaryOperator:
Enabled: false
Style/NegatedIf:
EnforcedStyle: postfix
Style/NegatedWhile:
Enabled: false
Style/Next:
Enabled: false
Style/NonNilCheck:
Enabled: false
Style/NumericPredicate:
Enabled: false
Style/ParallelAssignment:
Enabled: false
Style/PercentLiteralDelimiters:
Enabled: false
Style/PerlBackrefs:
Enabled: false
Style/RaiseArgs:
EnforcedStyle: compact
Style/RedundantBegin:
Enabled: false
Style/RedundantParentheses:
Enabled: false
Style/RedundantReturn:
Enabled: false
Style/RedundantSelf:
Enabled: false
Style/RescueModifier:
Enabled: false
Style/RescueStandardError:
EnforcedStyle: implicit
Style/RegexpLiteral:
AllowInnerSlashes: true
Style/SafeNavigation:
Enabled: false
Style/SignalException:
Enabled: false
Style/StringLiterals:
Enabled: false
Style/SymbolArray:
EnforcedStyle: brackets
Style/TrailingCommaInArguments:
Enabled: false
Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: consistent_comma
Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: consistent_comma
Style/WhileUntilDo:
Enabled: false
Style/WhileUntilModifier:
Enabled: false
Style/WordArray:
Enabled: false
Style/YodaCondition:
Enabled: false
Style/ZeroLengthPredicate:
Enabled: false