.rubocop.yml
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