sul-dlss/exhibits

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
inherit_from: .rubocop_todo.yml

require:
  - rubocop-rspec
  - rubocop-performance
  - rubocop-rails

AllCops:
  TargetRubyVersion: 2.7
  DisplayCopNames: true
  Exclude:
    - 'bin/**/*'
    - 'db/**/*'
    - 'config/**/*'
    - 'vendor/**/*'
    - 'spec/fixtures/**/*'

Rails:
  Enabled: true

Layout/LineLength:
  Max: 120
  Exclude:
    - 'app/controllers/concerns/search_across_blacklight_overrides.rb'
    - 'app/models/spotlight/dor/indexer.rb'
    - 'lib/traject/dor_config.rb'
    - 'spec/features/indexing_integration_spec.rb'
    - 'spec/models/spotlight/dor/indexer_spec.rb'
    - 'spec/features/bibliography_formatting_spec.rb'

Style/PercentLiteralDelimiters:
  PreferredDelimiters:
    '%i': '()'
    '%w': '()'

Style/StringLiterals:
  Enabled: true
  EnforcedStyle: single_quotes

Style/SymbolArray:
  Enabled: false

Style/HashEachMethods:
  Enabled: true

Style/HashTransformKeys:
  Enabled: true

Style/HashTransformValues:
  Enabled: true

Metrics/ClassLength:
  Exclude:
    - 'app/controllers/catalog_controller.rb'

RSpec/Capybara:
  Enabled: false

RSpec/NamedSubject:
  Enabled: false

RSpec/ContextWording:
  Enabled: false

Bundler/OrderedGems:
  Enabled: false

RSpec/ExampleLength:
  Max: 10
  Exclude:
    - 'spec/features/indexing_integration_spec.rb'

RSpec/MultipleMemoizedHelpers:
  Enabled: false

Metrics/BlockLength:
  Exclude:
    - 'app/controllers/catalog_controller.rb'
    - 'app/controllers/search_across_controller.rb'
    - 'app/models/spotlight/dor/indexer.rb'
    - 'spec/**/*'

Performance/RedundantBlockCall:
  Exclude:
    - 'lib/traject/macros/**/*'
Layout/EmptyLinesAroundAttributeAccessor:
  Enabled: true
Layout/SpaceAroundMethodCallOperator:
  Enabled: true
Layout/SpaceBeforeBrackets: # (new in 1.7)
  Enabled: true
Lint/AmbiguousAssignment: # (new in 1.7)
  Enabled: true
Lint/BinaryOperatorWithIdenticalOperands:
  Enabled: true
Lint/DeprecatedOpenSSLConstant:
  Enabled: true
Lint/DuplicateElsifCondition:
  Enabled: true
Lint/DuplicateRescueException:
  Enabled: true
Lint/EmptyConditionalBody:
  Enabled: true
Lint/FloatComparison:
  Enabled: true
Lint/MissingSuper:
  Enabled: true
Lint/MixedRegexpCaptureTypes:
  Enabled: true
Lint/OutOfRangeRegexpRef:
  Enabled: true
Lint/RaiseException:
  Enabled: true
Lint/SelfAssignment:
  Enabled: true
Lint/StructNewOverride:
  Enabled: true
Lint/TopLevelReturnWithArgument:
  Enabled: true
Lint/UnreachableLoop:
  Enabled: true
Lint/DeprecatedConstants: # (new in 1.8)
  Enabled: true
Lint/DuplicateBranch: # (new in 1.3)
  Enabled: true
Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
  Enabled: true
Lint/EmptyBlock: # (new in 1.1)
  Enabled: true
Lint/EmptyClass: # (new in 1.3)
  Enabled: true
Lint/LambdaWithoutLiteralBlock: # (new in 1.8)
  Enabled: true
Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
  Enabled: true
Lint/NumberedParameterAssignment: # (new in 1.9)
  Enabled: true
Lint/OrAssignmentToConstant: # (new in 1.9)
  Enabled: true
Lint/RedundantDirGlobSort: # (new in 1.8)
  Enabled: true
Lint/SymbolConversion: # (new in 1.9)
  Enabled: true
Lint/ToEnumArguments: # (new in 1.1)
  Enabled: true
Lint/TripleQuotes: # (new in 1.9)
  Enabled: true
Lint/UnexpectedBlockArity: # (new in 1.5)
  Enabled: true
Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
  Enabled: true
Style/AccessorGrouping:
  Enabled: true
Style/ArrayCoercion:
  Enabled: true
Style/BisectedAttrAccessor:
  Enabled: true
Style/CaseLikeIf:
  Enabled: true
Style/ExplicitBlockArgument:
  Enabled: true
Style/ExponentialNotation:
  Enabled: true
Style/GlobalStdStream:
  Enabled: true
Style/HashAsLastArrayItem:
  Enabled: true
Style/HashLikeCase:
  Enabled: true
Style/OptionalBooleanParameter:
  Enabled: true
Style/RedundantAssignment:
  Enabled: true
Style/RedundantFetchBlock:
  Enabled: true
Style/RedundantFileExtensionInRequire:
  Enabled: true
Style/RedundantRegexpCharacterClass:
  Enabled: true
Style/RedundantRegexpEscape:
  Enabled: true
Style/SingleArgumentDig:
  Enabled: true
Style/SlicingWithRange:
  Enabled: true
Style/StringConcatenation:
  Enabled: true
Style/ArgumentsForwarding: # (new in 1.1)
  Enabled: true
Style/CollectionCompact: # (new in 1.2)
  Enabled: true
Style/DocumentDynamicEvalDefinition: # (new in 1.1)
  Enabled: true
Style/EndlessMethod: # (new in 1.8)
  Enabled: true
Style/HashConversion: # (new in 1.10)
  Enabled: true
Style/HashExcept: # (new in 1.7)
  Enabled: true
Style/IfWithBooleanLiteralBranches: # (new in 1.9)
  Enabled: true
Style/NegatedIfElseCondition: # (new in 1.2)
  Enabled: true
Style/NilLambda: # (new in 1.3)
  Enabled: true
Style/RedundantArgument: # (new in 1.4)
  Enabled: true
Style/StringChars: # (new in 1.12)
  Enabled: true
Style/SwapValues: # (new in 1.1)
  Enabled: true
Performance/AncestorsInclude:
  Enabled: true
Performance/BigDecimalWithNumericArgument:
  Enabled: true
Performance/RedundantSortBlock:
  Enabled: true
Performance/RedundantStringChars:
  Enabled: true
Performance/ReverseFirst:
  Enabled: true
Performance/SortReverse:
  Enabled: true
Performance/Squeeze:
  Enabled: true
Performance/StringInclude:
  Enabled: true
Performance/BlockGivenWithExplicitBlock: # (new in 1.9)
  Enabled: true
Performance/CollectionLiteralInLoop: # (new in 1.8)
  Enabled: true
Performance/ConstantRegexp: # (new in 1.9)
  Enabled: true
Performance/MethodObjectAsBlock: # (new in 1.9)
  Enabled: true
Performance/RedundantEqualityComparisonBlock: # (new in 1.10)
  Enabled: true
Performance/RedundantSplitRegexpArgument: # (new in 1.10)
  Enabled: true
Performance/Sum: # (new in 1.8)
  Enabled: true
Rails/ActiveRecordCallbacksOrder:
  Enabled: true
Rails/FindById:
  Enabled: true
Rails/Inquiry:
  Enabled: true
Rails/MailerName:
  Enabled: true
Rails/MatchRoute:
  Enabled: true
Rails/NegateInclude:
  Enabled: true
Rails/Pluck:
  Enabled: true
Rails/PluckInWhere:
  Enabled: true
Rails/RenderInline:
  Enabled: true
Rails/RenderPlainText:
  Enabled: true
Rails/ShortI18n:
  Enabled: true
Rails/WhereExists:
  Enabled: true
Rails/AfterCommitOverride: # (new in 2.8)
  Enabled: true
Rails/AttributeDefaultBlockValue: # (new in 2.9)
  Enabled: true
Rails/SquishedSQLHeredocs: # (new in 2.8)
  Enabled: true
Rails/WhereEquals: # (new in 2.9)
  Enabled: true
Rails/WhereNot: # (new in 2.8)
  Enabled: true
Gemspec/DeprecatedAttributeAssignment: # (new in 1.10)
  Enabled: true