mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-04 00:00:47 -04:00
* Introduce types to ruby * rubocop * forgot these files * other request methods * more tests, fix for raw request * Add README entry for types * rebase and regen
325 lines
8.6 KiB
YAML
325 lines
8.6 KiB
YAML
inherit_from: .rubocop_todo.yml
|
|
|
|
AllCops:
|
|
DisplayCopNames: true
|
|
TargetRubyVersion: 2.3
|
|
|
|
Layout/CaseIndentation:
|
|
EnforcedStyle: end
|
|
|
|
Layout/FirstArrayElementIndentation:
|
|
EnforcedStyle: consistent
|
|
|
|
Layout/FirstHashElementIndentation:
|
|
EnforcedStyle: consistent
|
|
|
|
Layout/LineLength:
|
|
Exclude:
|
|
- "lib/stripe/object_types.rb"
|
|
- "lib/stripe/stripe_client.rb"
|
|
- "lib/stripe/resources/**/*.rb"
|
|
- "lib/stripe/services/**/*.rb"
|
|
- "test/**/*.rb"
|
|
|
|
Lint/MissingSuper:
|
|
Exclude:
|
|
- "lib/stripe/resources/**/*.rb"
|
|
- "lib/stripe/services/**/*.rb"
|
|
- "test/stripe/request_params_test.rb"
|
|
|
|
Metrics/AbcSize:
|
|
Enabled: false
|
|
|
|
Metrics/BlockLength:
|
|
Max: 40
|
|
Exclude:
|
|
# `context` in tests are blocks and get quite large, so exclude the test
|
|
# directory from having to adhere to this rule.
|
|
- "test/**/*.rb"
|
|
|
|
Metrics/ClassLength:
|
|
Enabled: false
|
|
|
|
# There are several methods with many branches in api_requestor due to
|
|
# request logic.
|
|
Metrics/CyclomaticComplexity:
|
|
Exclude:
|
|
- "lib/stripe/api_requestor.rb"
|
|
- "lib/stripe/util.rb"
|
|
|
|
Metrics/PerceivedComplexity:
|
|
Exclude:
|
|
- "lib/stripe/api_requestor.rb"
|
|
- "lib/stripe/util.rb"
|
|
|
|
Metrics/MethodLength:
|
|
# There's ~2 long methods in `APIRequestor` and one in `NestedResource`. If
|
|
# we want to truncate those a little, we could move this to be closer to ~30
|
|
# (but the default of 10 is probably too short).
|
|
Max: 55
|
|
Exclude:
|
|
- "lib/stripe/services/v1_services.rb"
|
|
- "lib/stripe/event_types.rb"
|
|
AllowedMethods:
|
|
- initialize
|
|
|
|
# TODO(xavdid): remove this once the first `basil` release is out
|
|
Naming/MethodName:
|
|
# these endpoints are removed soon so we pulled their overrides, meaning their names are wrong
|
|
# that won't make it out to users, but it's breaking linting/formatting in the meantime
|
|
Exclude:
|
|
- "lib/stripe/services/invoice_service.rb"
|
|
- "lib/stripe/resources/invoice.rb"
|
|
|
|
Metrics/ModuleLength:
|
|
Enabled: false
|
|
|
|
Metrics/ParameterLists:
|
|
# There's 2 methods in `StripeClient` that have long parameter lists.
|
|
Max: 8
|
|
# Optional parameters should be consistent across libraries, we need not be
|
|
# concerned about this. Was introduced with adding `base_address`
|
|
Exclude:
|
|
- "lib/stripe/api_operations/request.rb"
|
|
- "lib/stripe/stripe_object.rb"
|
|
- "lib/stripe/stripe_client.rb"
|
|
- "lib/stripe/resources/**/*.rb"
|
|
- "lib/stripe/services/**/*.rb"
|
|
|
|
Naming/MethodParameterName:
|
|
# We have many parameters that are less than 3 characters for tax codes
|
|
Exclude:
|
|
- "lib/stripe/resources/**/*.rb"
|
|
- "lib/stripe/services/**/*.rb"
|
|
|
|
Naming/VariableNumber:
|
|
# We use a variety of variable number syntaxes
|
|
Exclude:
|
|
- "lib/stripe/resources/**/*.rb"
|
|
- "lib/stripe/services/**/*.rb"
|
|
|
|
Style/AccessModifierDeclarations:
|
|
EnforcedStyle: inline
|
|
|
|
Style/AsciiComments:
|
|
Enabled: false
|
|
|
|
Style/FrozenStringLiteralComment:
|
|
EnforcedStyle: always
|
|
|
|
Style/HashEachMethods:
|
|
Enabled: true
|
|
|
|
Style/HashTransformKeys:
|
|
Enabled: true
|
|
|
|
Style/HashTransformValues:
|
|
Enabled: true
|
|
|
|
Style/NumericPredicate:
|
|
Enabled: false
|
|
|
|
Style/StringLiterals:
|
|
EnforcedStyle: double_quotes
|
|
|
|
Style/TrailingCommaInArrayLiteral:
|
|
EnforcedStyleForMultiline: consistent_comma
|
|
|
|
Style/TrailingCommaInHashLiteral:
|
|
EnforcedStyleForMultiline: consistent_comma
|
|
|
|
Gemspec/DeprecatedAttributeAssignment: # new in 1.30
|
|
Enabled: true
|
|
Gemspec/DevelopmentDependencies: # new in 1.44
|
|
Enabled: true
|
|
Gemspec/RequireMFA: # new in 1.23
|
|
Enabled: false
|
|
Layout/LineContinuationLeadingSpace: # new in 1.31
|
|
Enabled: true
|
|
Layout/LineContinuationSpacing: # new in 1.31
|
|
Enabled: true
|
|
Layout/LineEndStringConcatenationIndentation: # new in 1.18
|
|
Enabled: true
|
|
Layout/SpaceBeforeBrackets: # new in 1.7
|
|
Enabled: true
|
|
Lint/AmbiguousAssignment: # new in 1.7
|
|
Enabled: true
|
|
Lint/AmbiguousOperatorPrecedence: # new in 1.21
|
|
Enabled: true
|
|
Lint/AmbiguousRange: # new in 1.19
|
|
Enabled: true
|
|
Lint/ConstantOverwrittenInRescue: # new in 1.31
|
|
Enabled: true
|
|
Lint/DeprecatedConstants: # new in 1.8
|
|
Enabled: true
|
|
Lint/DuplicateBranch: # new in 1.3
|
|
Enabled: true
|
|
Lint/DuplicateMagicComment: # new in 1.37
|
|
Enabled: true
|
|
Lint/DuplicateMatchPattern: # new in 1.50
|
|
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/EmptyInPattern: # new in 1.16
|
|
Enabled: true
|
|
Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
|
|
Enabled: true
|
|
Lint/LambdaWithoutLiteralBlock: # new in 1.8
|
|
Enabled: true
|
|
Lint/MixedCaseRange: # new in 1.53
|
|
Enabled: true
|
|
Lint/NoReturnInBeginEndBlocks: # new in 1.2
|
|
Enabled: true
|
|
Lint/NonAtomicFileOperation: # new in 1.31
|
|
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/RedundantRegexpQuantifiers: # new in 1.53
|
|
Enabled: true
|
|
Lint/RefinementImportMethods: # new in 1.27
|
|
Enabled: true
|
|
Lint/RequireRangeParentheses: # new in 1.32
|
|
Enabled: true
|
|
Lint/RequireRelativeSelfPath: # new in 1.22
|
|
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
|
|
Lint/UselessRescue: # new in 1.43
|
|
Enabled: true
|
|
Lint/UselessRuby2Keywords: # new in 1.23
|
|
Enabled: true
|
|
Metrics/CollectionLiteralLength: # new in 1.47
|
|
Enabled: true
|
|
Naming/BlockForwarding: # new in 1.24
|
|
Enabled: true
|
|
Security/CompoundHash: # new in 1.28
|
|
Enabled: true
|
|
Security/IoMethods: # new in 1.22
|
|
Enabled: true
|
|
Style/ArgumentsForwarding: # new in 1.1
|
|
Enabled: true
|
|
Style/ArrayIntersect: # new in 1.40
|
|
Enabled: true
|
|
Style/CollectionCompact: # new in 1.2
|
|
Enabled: true
|
|
Style/ComparableClamp: # new in 1.44
|
|
Enabled: true
|
|
Style/ConcatArrayLiterals: # new in 1.41
|
|
Enabled: true
|
|
Style/DataInheritance: # new in 1.49
|
|
Enabled: true
|
|
Style/DirEmpty: # new in 1.48
|
|
Enabled: true
|
|
Style/DocumentDynamicEvalDefinition: # new in 1.1
|
|
Enabled: true
|
|
Style/EmptyHeredoc: # new in 1.32
|
|
Enabled: true
|
|
Style/EndlessMethod: # new in 1.8
|
|
Enabled: true
|
|
Style/EnvHome: # new in 1.29
|
|
Enabled: true
|
|
Style/ExactRegexpMatch: # new in 1.51
|
|
Enabled: true
|
|
Style/FetchEnvVar: # new in 1.28
|
|
Enabled: true
|
|
Style/FileEmpty: # new in 1.48
|
|
Enabled: true
|
|
Style/FileRead: # new in 1.24
|
|
Enabled: true
|
|
Style/FileWrite: # new in 1.24
|
|
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/InPatternThen: # new in 1.16
|
|
Enabled: true
|
|
Style/MagicCommentFormat: # new in 1.35
|
|
Enabled: true
|
|
Style/MapCompactWithConditionalBlock: # new in 1.30
|
|
Enabled: true
|
|
Style/MapToHash: # new in 1.24
|
|
Enabled: true
|
|
Style/MapToSet: # new in 1.42
|
|
Enabled: true
|
|
Style/MinMaxComparison: # new in 1.42
|
|
Enabled: true
|
|
Style/MultilineInPatternThen: # new in 1.16
|
|
Enabled: true
|
|
Style/NegatedIfElseCondition: # new in 1.2
|
|
Enabled: true
|
|
Style/NestedFileDirname: # new in 1.26
|
|
Enabled: true
|
|
Style/NilLambda: # new in 1.3
|
|
Enabled: true
|
|
Style/NumberedParameters: # new in 1.22
|
|
Enabled: true
|
|
Style/NumberedParametersLimit: # new in 1.22
|
|
Enabled: true
|
|
Style/ObjectThen: # new in 1.28
|
|
Enabled: true
|
|
Style/OpenStructUse: # new in 1.23
|
|
Enabled: true
|
|
Style/OperatorMethodCall: # new in 1.37
|
|
Enabled: true
|
|
Style/QuotedSymbols: # new in 1.16
|
|
Enabled: true
|
|
Style/RedundantArgument: # new in 1.4
|
|
Enabled: true
|
|
Style/RedundantArrayConstructor: # new in 1.52
|
|
Enabled: true
|
|
Style/RedundantConstantBase: # new in 1.40
|
|
Enabled: true
|
|
Style/RedundantCurrentDirectoryInPath: # new in 1.53
|
|
Enabled: true
|
|
Style/RedundantDoubleSplatHashBraces: # new in 1.41
|
|
Enabled: true
|
|
Style/RedundantEach: # new in 1.38
|
|
Enabled: true
|
|
Style/RedundantFilterChain: # new in 1.52
|
|
Enabled: true
|
|
Style/RedundantHeredocDelimiterQuotes: # new in 1.45
|
|
Enabled: true
|
|
Style/RedundantInitialize: # new in 1.27
|
|
Enabled: true
|
|
Style/RedundantLineContinuation: # new in 1.49
|
|
Enabled: true
|
|
Style/RedundantRegexpArgument: # new in 1.53
|
|
Enabled: true
|
|
Style/RedundantRegexpConstructor: # new in 1.52
|
|
Enabled: true
|
|
Style/RedundantSelfAssignmentBranch: # new in 1.19
|
|
Enabled: true
|
|
Style/RedundantStringEscape: # new in 1.37
|
|
Enabled: true
|
|
Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
|
|
Enabled: true
|
|
Style/SelectByRegexp: # new in 1.22
|
|
Enabled: true
|
|
Style/SingleLineDoEndBlock: # new in 1.57
|
|
Enabled: true
|
|
Style/StringChars: # new in 1.12
|
|
Enabled: true
|
|
Style/SwapValues: # new in 1.1
|
|
Enabled: true
|
|
Style/YAMLFileRead: # new in 1.53
|
|
Enabled: true
|