inherit_mode: merge: - Exclude - Include AllCops: StyleGuideBaseURL: https://shopify.github.io/ruby-style-guide/ Bundler/OrderedGems: Enabled: false Gemspec/DeprecatedAttributeAssignment: Enabled: true Gemspec/RequiredRubyVersion: Enabled: false Gemspec/RequireMFA: Enabled: false Layout/ArgumentAlignment: EnforcedStyle: with_fixed_indentation Layout/CaseIndentation: EnforcedStyle: end Layout/EndAlignment: EnforcedStyleAlignWith: variable Layout/FirstArgumentIndentation: Enabled: false Layout/FirstArrayElementIndentation: EnforcedStyle: consistent Layout/FirstHashElementIndentation: EnforcedStyle: consistent Layout/HashAlignment: EnforcedLastArgumentHashStyle: ignore_implicit Layout/LineContinuationLeadingSpace: Enabled: false Layout/LineContinuationSpacing: Enabled: false Layout/LineEndStringConcatenationIndentation: Enabled: true EnforcedStyle: indented Layout/LineLength: IgnoreCopDirectives: false AllowedPatterns: - "\\A\\s*(remote_)?test(_\\w+)?\\s.*(do|->)(\\s|\\Z)" Layout/MultilineMethodCallIndentation: EnforcedStyle: indented IndentationWidth: 2 Layout/MultilineOperationIndentation: EnforcedStyle: indented Layout/ParameterAlignment: EnforcedStyle: with_fixed_indentation Layout/SpaceBeforeBrackets: Enabled: true Lint/AmbiguousAssignment: Enabled: false Lint/AmbiguousBlockAssociation: Enabled: false Lint/AmbiguousOperatorPrecedence: Enabled: false Lint/AmbiguousRange: Enabled: false Lint/BooleanSymbol: Enabled: false Lint/ConstantDefinitionInBlock: Enabled: false Lint/ConstantOverwrittenInRescue: Enabled: true Lint/DeprecatedConstants: Enabled: false Lint/DisjunctiveAssignmentInConstructor: Enabled: false Lint/DuplicateBranch: Enabled: false Lint/DuplicateCaseCondition: Enabled: false Lint/DuplicateElsifCondition: Enabled: false Lint/DuplicateRegexpCharacterClassElement: Enabled: false Lint/DuplicateRequire: Enabled: false Lint/DuplicateRescueException: Enabled: false Lint/EmptyBlock: Enabled: false Lint/EmptyClass: Enabled: false Lint/EmptyConditionalBody: Enabled: false Lint/EmptyExpression: Enabled: false Lint/EmptyFile: Enabled: false Lint/EmptyInPattern: Enabled: false Lint/EmptyWhen: Enabled: false Lint/ErbNewArguments: Enabled: false Lint/FloatComparison: Enabled: false Lint/HashCompareByIdentity: Enabled: false Lint/IdentityComparison: Enabled: false Lint/IncompatibleIoSelectWithFiberScheduler: Enabled: false Lint/InterpolationCheck: Enabled: false Lint/LambdaWithoutLiteralBlock: Enabled: false Lint/MissingCopEnableDirective: Enabled: false Lint/MixedRegexpCaptureTypes: Enabled: false Lint/MultipleComparison: Enabled: false Lint/NestedPercentLiteral: Enabled: false Lint/NoReturnInBeginEndBlocks: Enabled: false Lint/NonAtomicFileOperation: Enabled: false Lint/NonDeterministicRequireOrder: Enabled: false Lint/NumberedParameterAssignment: Enabled: false Lint/OrAssignmentToConstant: Enabled: false Lint/OutOfRangeRegexpRef: Enabled: false Lint/RaiseException: Enabled: false Lint/RedundantDirGlobSort: Enabled: false Lint/RedundantRequireStatement: Enabled: false Lint/RedundantSafeNavigation: Enabled: false Lint/RedundantWithIndex: Enabled: false Lint/RedundantWithObject: Enabled: false Lint/RefinementImportMethods: Enabled: false Lint/RegexpAsCondition: Enabled: false Lint/RequireRelativeSelfPath: Enabled: true Lint/RescueType: Enabled: false Lint/ReturnInVoidContext: Enabled: false Lint/SafeNavigationConsistency: Enabled: false Lint/SafeNavigationWithEmpty: Enabled: false Lint/ScriptPermission: Enabled: false Lint/SelfAssignment: Enabled: false Lint/SendWithMixinArgument: Enabled: false Lint/ShadowedArgument: Enabled: false Lint/ShadowingOuterLocalVariable: Enabled: false Lint/StructNewOverride: Enabled: false Lint/SymbolConversion: Enabled: false Lint/ToEnumArguments: Enabled: false Lint/ToJSON: Enabled: false Lint/TopLevelReturnWithArgument: Enabled: false Lint/TrailingCommaInAttributeDeclaration: Enabled: false Lint/TripleQuotes: Enabled: false Lint/UnexpectedBlockArity: Enabled: false Lint/UnmodifiedReduceAccumulator: Enabled: false Lint/UnreachableLoop: Enabled: false Lint/UnusedMethodArgument: Enabled: false Lint/UriEscapeUnescape: Enabled: false Lint/UriRegexp: Enabled: false Lint/UselessMethodDefinition: Enabled: false Lint/UselessRuby2Keywords: Enabled: true Lint/UselessTimes: Enabled: false Metrics/AbcSize: Enabled: false Metrics/BlockLength: Enabled: false Metrics/ClassLength: Enabled: false Metrics/CyclomaticComplexity: Enabled: false Metrics/MethodLength: Enabled: false Metrics/ModuleLength: Enabled: false Metrics/ParameterLists: CountKeywordArgs: false Metrics/PerceivedComplexity: Enabled: false Migration/DepartmentName: Enabled: false Naming/BlockForwarding: Enabled: false Naming/BlockParameterName: Enabled: false Naming/HeredocDelimiterCase: Enabled: false Naming/HeredocDelimiterNaming: Enabled: false Naming/InclusiveLanguage: Enabled: true FlaggedTerms: master: Suggestions: - main - primary - leader AllowedRegex: - !ruby/regexp '/master[_\s\.]key/' # Rails master key - 'blob/master/' - 'origin/master' - 'mastercard' - 'webmaster' Naming/MemoizedInstanceVariableName: Enabled: false Naming/MethodParameterName: Enabled: false Naming/PredicateName: NamePrefix: - is_ ForbiddenPrefixes: - is_ Naming/RescuedExceptionsVariableName: Enabled: false Naming/VariableNumber: Enabled: false Security/CompoundHash: Enabled: false Security/MarshalLoad: Enabled: false Security/IoMethods: Enabled: true Security/YAMLLoad: Enabled: false Style/AccessModifierDeclarations: Enabled: false Style/AccessorGrouping: Enabled: false Style/Alias: EnforcedStyle: prefer_alias_method Style/AndOr: EnforcedStyle: always Style/ArgumentsForwarding: Enabled: false Style/BisectedAttrAccessor: Enabled: false Style/CaseEquality: AllowOnConstant: true Style/CaseLikeIf: Enabled: false Style/ClassEqualityComparison: Enabled: false Style/CollectionCompact: Enabled: false Style/ColonMethodDefinition: Enabled: false Style/CombinableLoops: Enabled: false Style/CommandLiteral: EnforcedStyle: percent_x Style/CommentedKeyword: Enabled: false Style/DateTime: Enabled: true Style/Dir: Enabled: false Style/DocumentDynamicEvalDefinition: Enabled: false Style/Documentation: Enabled: false Style/DoubleCopDisableDirective: Enabled: false Style/DoubleNegation: Enabled: false Style/EmptyBlockParameter: Enabled: false Style/EmptyLambdaParameter: Enabled: false Style/EmptyMethod: Enabled: false Style/Encoding: Enabled: false Style/EndlessMethod: Enabled: false Style/EnvHome: Enabled: false Style/EvalWithLocation: Enabled: false Style/ExpandPathArguments: Enabled: false Style/ExponentialNotation: Enabled: false Style/FetchEnvVar: Enabled: false Style/FileRead: Enabled: false Style/FileWrite: Enabled: false Style/FloatDivision: Enabled: false Style/FormatStringToken: Enabled: false Style/FrozenStringLiteralComment: SafeAutoCorrect: true Details: 'Add `# frozen_string_literal: true` to the top of the file. Frozen string literals will become the default in a future Ruby version, and we want to make sure we''re ready.' Style/GuardClause: Enabled: false Style/HashAsLastArrayItem: Enabled: false Style/HashConversion: Enabled: false Style/HashEachMethods: Enabled: false Style/HashExcept: Enabled: false Style/HashLikeCase: Enabled: false Style/HashSyntax: EnforcedShorthandSyntax: either Style/HashTransformKeys: Enabled: false Style/HashTransformValues: Enabled: false Style/IfUnlessModifier: Enabled: false Style/IfWithBooleanLiteralBranches: Enabled: false Style/InPatternThen: Enabled: true Style/InverseMethods: Enabled: false Style/KeywordParametersOrder: Enabled: false Style/Lambda: Enabled: false Style/MapCompactWithConditionalBlock: Enabled: false Style/MapToHash: Enabled: false Style/MethodCallWithArgsParentheses: Enabled: true IgnoredMethods: - require - require_relative - require_dependency - yield - raise - puts Exclude: - "/**/Gemfile" Style/MinMax: Enabled: false Style/MixinGrouping: Enabled: false Style/MixinUsage: Enabled: false Style/ModuleFunction: EnforcedStyle: extend_self Style/MultilineBlockChain: Enabled: false Style/MultilineIfModifier: Enabled: false Style/MultilineInPatternThen: Enabled: false Style/MultilineWhenThen: Enabled: false Style/MultipleComparison: Enabled: false Style/MutableConstant: Enabled: false Style/NegatedIfElseCondition: Enabled: false Style/NegatedUnless: Enabled: false Style/NestedFileDirname: Enabled: true Style/NilLambda: Enabled: false Style/NumberedParameters: Enabled: false Style/NumberedParametersLimit: Enabled: false Style/NumericLiteralPrefix: EnforcedOctalStyle: zero_only Style/NumericLiterals: Enabled: false Style/NumericPredicate: Enabled: false Style/ObjectThen: Enabled: false Style/OpenStructUse: Enabled: true Style/OptionalBooleanParameter: Enabled: false Style/OrAssignment: Enabled: false Style/PercentLiteralDelimiters: Enabled: false Style/QuotedSymbols: Enabled: true Style/RandomWithOffset: Enabled: false Style/RedundantArgument: Enabled: false Style/RedundantAssignment: Enabled: false Style/RedundantCondition: Enabled: false Style/RedundantConditional: Enabled: false Style/RedundantFetchBlock: Enabled: false Style/RedundantFileExtensionInRequire: Enabled: false Style/RedundantInitialize: Enabled: false Style/RedundantRegexpCharacterClass: Enabled: false Style/RedundantRegexpEscape: Enabled: false Style/RedundantSelfAssignment: Enabled: false Style/RedundantSelfAssignmentBranch: Enabled: false Style/RedundantSort: Enabled: false Style/RegexpLiteral: EnforcedStyle: mixed Style/RescueStandardError: Enabled: false Style/SelectByRegexp: Enabled: false Style/SingleArgumentDig: Enabled: false Style/SlicingWithRange: Enabled: false Style/SoleNestedConditional: Enabled: false Style/StderrPuts: Enabled: false Style/StringChars: Enabled: false Style/StringConcatenation: Enabled: false Style/StringLiterals: EnforcedStyle: double_quotes Style/StringLiteralsInInterpolation: EnforcedStyle: double_quotes Style/StructInheritance: Enabled: false Style/SwapValues: Enabled: false Style/SymbolArray: EnforcedStyle: brackets Style/TrailingBodyOnMethodDefinition: Enabled: false Style/TrailingCommaInArguments: Enabled: false Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: consistent_comma Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: consistent_comma Style/TrailingMethodEndStatement: Enabled: false Style/TrailingUnderscoreVariable: Enabled: false Style/UnpackFirst: Enabled: false Style/WordArray: EnforcedStyle: brackets Style/YodaCondition: Enabled: false