Shopify/active_merchant

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
inherit_from: .rubocop_todo.yml

# Please keep AllCops, Bundler, Layout, Style, Metrics groups and then order cops
# alphabetically
#
# References:
#   * https://github.com/bbatsov/ruby-style-guide
#   * https://rubocop.readthedocs.io/
AllCops:
  DisplayCopNames: true
  DisplayStyleGuide: true
  Exclude:
    - "generators/**/*"
    - "lib/active_merchant/billing/gateways/paypal/**/*"
    - "lib/active_merchant/billing/gateways/paypal_express.rb"
    - "vendor/**/*"
  ExtraDetails: false
  TargetRubyVersion: 3.1

# Active Merchant gateways are not amenable to length restrictions
Metrics/ClassLength:
  Enabled: false

Metrics/ModuleLength:
  Enabled: false

Layout/ParameterAlignment:
  EnforcedStyle: with_fixed_indentation

Layout/DotPosition:
  EnforcedStyle: trailing

Layout/CaseIndentation:
  EnforcedStyle: end

Layout/FirstHashElementIndentation:
  EnforcedStyle: consistent

Naming/PredicateName:
  Exclude:
    - "lib/active_merchant/billing/gateways/payeezy.rb"
    - 'lib/active_merchant/billing/gateways/airwallex.rb'

Gemspec/DateAssignment: # (new in 1.10)
  Enabled: true
Layout/SpaceBeforeBrackets: # (new in 1.7)
  Enabled: true
Lint/AmbiguousAssignment: # (new in 1.7)
  Enabled: true
Lint/DeprecatedConstants: # (new in 1.8)
  Enabled: true # update later in next Update Rubocop PR
Lint/DuplicateBranch: # (new in 1.3)
  Enabled: false
Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
  Enabled: true
Lint/EmptyBlock: # (new in 1.1)
  Enabled: false # update later in next Update Rubocop PR
  Exclude:
    - 'lib/active_merchant/billing/gateways/authorize_net.rb'
    - 'lib/active_merchant/billing/gateways/secure_net.rb'
Lint/EmptyClass: # (new in 1.3)
  Enabled: true
Lint/FloatComparison:
  Exclude:
    - 'lib/active_merchant/billing/gateways/payu_latam.rb'
Lint/LambdaWithoutLiteralBlock: # (new in 1.8)
  Enabled: true
Lint/NonDeterministicRequireOrder:
  Exclude:
    - 'script/generate'
Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
  Enabled: true
  Exclude:
    - 'lib/active_merchant/billing/gateways/fat_zebra.rb'
    - 'lib/active_merchant/billing/gateways/netbanx.rb'
    - 'lib/active_merchant/billing/gateways/payway_dot_com.rb'
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/ArgumentsForwarding: # (new in 1.1)
  Enabled: true
Style/CollectionCompact: # (new in 1.2)
  Enabled: false # update later in next Update Rubocop PR
Style/DocumentDynamicEvalDefinition: # (new in 1.1)
  Enabled: true
  Exclude:
    - 'lib/active_merchant/billing/credit_card.rb'
    - 'lib/active_merchant/billing/response.rb'
Style/EndlessMethod: # (new in 1.8)
  Enabled: true
Style/HashConversion: # (new in 1.10)
  Enabled: true
  Exclude:
    - 'lib/active_merchant/billing/gateways/payscout.rb'
    - 'lib/active_merchant/billing/gateways/pac_net_raven.rb'
Style/HashExcept: # (new in 1.7)
  Enabled: true
Style/IfWithBooleanLiteralBranches: # (new in 1.9)
  Enabled: false # update later in next Update Rubocop PR
Style/NegatedIfElseCondition: # (new in 1.2)
  Enabled: true
Style/NilLambda: # (new in 1.3)
  Enabled: true
Style/RedundantArgument: # (new in 1.4)
  Enabled: false # update later in next Update Rubocop PR
Style/StringChars: # (new in 1.12)
  Enabled: false # update later in next Update Rubocop PR
Style/SwapValues: # (new in 1.1)
  Enabled: true
Naming/VariableNumber:
  Enabled: false
Style/OptionalBooleanParameter:
  Enabled: false
Style/RedundantRegexpEscape:
  Enabled: false