require: - rubocop-performance - rubocop-rails - rubocop-rspec - standard inherit_gem: standard: config/base.yml Bundler/DuplicatedGem: Enabled: true Bundler/GemFilename: Enabled: true Bundler/InsecureProtocolSource: Enabled: true Gemspec/DeprecatedAttributeAssignment: Enabled: true Gemspec/DuplicatedAssignment: Enabled: true Gemspec/OrderedDependencies: Enabled: true Gemspec/RequireMFA: Enabled: true Gemspec/RequiredRubyVersion: Enabled: true Gemspec/RubyVersionGlobalsUsage: Enabled: true Layout/ArgumentAlignment: EnforcedStyle: with_first_argument Layout/ArrayAlignment: EnforcedStyle: with_first_element Layout/CaseIndentation: EnforcedStyle: case Layout/EmptyLineAfterGuardClause: Enabled: true Layout/EmptyLineBetweenDefs: AllowAdjacentOneLineDefs: true Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/EndAlignment: EnforcedStyleAlignWith: keyword Layout/ExtraSpacing: AllowForAlignment: true AllowBeforeTrailingComments: false Layout/FirstArgumentIndentation: EnforcedStyle: special_for_inner_method_call_in_parentheses Layout/FirstArrayElementIndentation: EnforcedStyle: special_inside_parentheses Layout/FirstHashElementIndentation: EnforcedStyle: special_inside_parentheses Layout/FirstParameterIndentation: Enabled: true Layout/LineContinuationLeadingSpace: Enabled: true Layout/LineContinuationSpacing: Enabled: true Layout/LineEndStringConcatenationIndentation: Enabled: true Layout/LineLength: Enabled: true Max: 120 Layout/MultilineMethodCallIndentation: EnforcedStyle: aligned Layout/MultilineOperationIndentation: EnforcedStyle: aligned Layout/ParameterAlignment: EnforcedStyle: with_first_parameter Layout/SpaceBeforeBrackets: Enabled: true Layout/SpaceInsideHashLiteralBraces: EnforcedStyle: space Layout/TrailingWhitespace: AllowInHeredoc: false Lint/AmbiguousAssignment: Enabled: true Lint/AmbiguousBlockAssociation: Enabled: true Lint/AmbiguousOperatorPrecedence: Enabled: true Lint/AmbiguousRange: Enabled: true Lint/ConstantOverwrittenInRescue: Enabled: true Lint/DeprecatedConstants: Enabled: true Lint/DisjunctiveAssignmentInConstructor: Enabled: true Lint/DuplicateBranch: Enabled: true Lint/DuplicateMagicComment: Enabled: true Lint/DuplicateRegexpCharacterClassElement: Enabled: true Lint/EmptyBlock: Enabled: true Lint/EmptyClass: Enabled: true Lint/EmptyConditionalBody: Enabled: true Lint/EmptyFile: Enabled: true Lint/EmptyInPattern: Enabled: true Lint/HashCompareByIdentity: Enabled: true Lint/IncompatibleIoSelectWithFiberScheduler: Enabled: true Lint/InheritException: EnforcedStyle: standard_error Lint/LambdaWithoutLiteralBlock: Enabled: true Lint/MissingSuper: Enabled: true Lint/NoReturnInBeginEndBlocks: Enabled: true Lint/NonAtomicFileOperation: Enabled: true Lint/NumberedParameterAssignment: Enabled: true Lint/OrAssignmentToConstant: Enabled: true Lint/PercentStringArray: Enabled: true Lint/RedundantCopDisableDirective: Enabled: true Lint/RedundantCopEnableDirective: Enabled: true Lint/RedundantDirGlobSort: Enabled: true Lint/RedundantSafeNavigation: Enabled: true Lint/RefinementImportMethods: Enabled: true Lint/RequireRangeParentheses: Enabled: true Lint/RequireRelativeSelfPath: Enabled: true Lint/SafeNavigationChain: AllowedMethods: - present? - blank? - presence - try - try! - in? Lint/ScriptPermission: Enabled: true Lint/SendWithMixinArgument: Enabled: true Lint/ShadowingOuterLocalVariable: Enabled: true Lint/StructNewOverride: Enabled: true Lint/SuppressedException: Enabled: true Lint/SymbolConversion: Enabled: true Lint/ToEnumArguments: Enabled: true Lint/ToJSON: Enabled: true Lint/TripleQuotes: Enabled: true Lint/UnexpectedBlockArity: Enabled: true Lint/UnmodifiedReduceAccumulator: Enabled: true Lint/UnreachableLoop: Enabled: true Lint/UnusedBlockArgument: Enabled: true Lint/UnusedMethodArgument: Enabled: true Lint/UselessAccessModifier: Enabled: true Lint/UselessElseWithoutRescue: Enabled: true Lint/UselessMethodDefinition: Enabled: true Lint/UselessRuby2Keywords: Enabled: true Metrics/AbcSize: Enabled: true Exclude: - 'db/migrate/*' Metrics/BlockLength: Enabled: true Exclude: - 'spec/**/*.rb' - 'config/environments/**/*.rb' - 'config/routes.rb' - 'db/**/*' Metrics/BlockNesting: Enabled: true Metrics/ClassLength: Enabled: true CountAsOne: - array - hash - heredoc Exclude: - 'db/**/*' Metrics/CyclomaticComplexity: Enabled: true Metrics/MethodLength: Enabled: true CountAsOne: - array - hash - heredoc Metrics/ModuleLength: Enabled: true CountAsOne: - array - hash - heredoc Metrics/ParameterLists: Enabled: true Metrics/PerceivedComplexity: Enabled: true Naming/AccessorMethodName: Enabled: true Naming/AsciiIdentifiers: Enabled: true Naming/BlockForwarding: Enabled: true Naming/FileName: Enabled: true Naming/HeredocDelimiterNaming: Enabled: true Naming/MemoizedInstanceVariableName: Enabled: true Naming/MethodName: Enabled: true Naming/MethodParameterName: Enabled: true Naming/PredicateName: Enabled: true Naming/RescuedExceptionsVariableName: Enabled: true Naming/VariableNumber: Enabled: true Performance/AncestorsInclude: Enabled: true Performance/BigDecimalWithNumericArgument: Enabled: true Performance/BlockGivenWithExplicitBlock: Enabled: true Performance/Casecmp: Enabled: true Performance/CollectionLiteralInLoop: Enabled: true Performance/ConcurrentMonotonicTime: Enabled: true Performance/ConstantRegexp: Enabled: true Performance/DeletePrefix: Enabled: true Performance/DeleteSuffix: Enabled: true Performance/MapCompact: Enabled: true Performance/MethodObjectAsBlock: Enabled: true Performance/RedundantBlockCall: Enabled: true Performance/RedundantEqualityComparisonBlock: Enabled: true Performance/RedundantSortBlock: Enabled: true Performance/RedundantSplitRegexpArgument: Enabled: true Performance/RedundantStringChars: Enabled: true Performance/ReverseFirst: Enabled: true Performance/SortReverse: Enabled: true Performance/Squeeze: Enabled: true Performance/StringIdentifierArgument: Enabled: true Performance/StringInclude: Enabled: true Performance/Sum: Enabled: true Performance/TimesMap: Enabled: true RSpec/AnyInstance: Enabled: false RSpec/DescribeClass: Exclude: - 'spec/system/**/*' - 'spec/views/**/*' RSpec/DescribedClass: SkipBlocks: true RSpec/ExampleLength: Exclude: - 'spec/system/**/*' - 'spec/requests/**/*' - 'spec/views/**/*' RSpec/InstanceVariable: Exclude: - 'spec/views/**/*' RSpec/MultipleExpectations: Enabled: false RSpec/MultipleMemoizedHelpers: Enabled: false RSpec/NestedGroups: Max: 5 RSpec/NoExpectationExample: Enabled: false RSpec/SortMetadata: Enabled: false RSpec/VerifiedDoubles: Enabled: false Rails/BulkChangeTable: Enabled: false Rails/I18nLocaleAssignment: Exclude: - 'spec/**/*' Rails/LexicallyScopedActionFilter: Enabled: false Rails/NotNullColumn: Exclude: - 'db/migrate/*' Rails/WhereExists: Enabled: false Rails/SkipsModelValidations: Exclude: - 'spec/**/*.rb' Security/CompoundHash: Enabled: true Security/IoMethods: Enabled: true Security/MarshalLoad: Enabled: true Style/AccessModifierDeclarations: Enabled: true Style/AccessorGrouping: Enabled: true Style/Alias: EnforcedStyle: prefer_alias Style/ArgumentsForwarding: Enabled: true Style/ArrayIntersect: Enabled: true Style/BisectedAttrAccessor: Enabled: true Style/BlockDelimiters: Enabled: true Style/CaseEquality: Enabled: true Style/CaseLikeIf: Enabled: true Style/ClassAndModuleChildren: Enabled: true Style/ClassVars: Enabled: true Style/CollectionCompact: Enabled: true Style/CombinableLoops: Enabled: true Style/CommandLiteral: EnforcedStyle: backticks Style/CommentAnnotation: Enabled: true Style/CommentedKeyword: Enabled: true Style/ConcatArrayLiterals: Enabled: true Style/DocumentDynamicEvalDefinition: Enabled: true Style/DoubleCopDisableDirective: Enabled: true Style/DoubleNegation: Enabled: true Style/EmptyHeredoc: Enabled: true Style/EmptyMethod: EnforcedStyle: compact Style/EndlessMethod: Enabled: true Style/EnvHome: Enabled: true Style/EvenOdd: Enabled: true Style/ExpandPathArguments: Enabled: true Style/ExplicitBlockArgument: Enabled: true Style/ExponentialNotation: Enabled: true Style/FetchEnvVar: Enabled: true Style/FileRead: Enabled: true Style/FileWrite: Enabled: true Style/FloatDivision: Enabled: true Style/FormatString: Enabled: true Style/FormatStringToken: Enabled: true Style/FrozenStringLiteralComment: Enabled: true Style/GuardClause: Enabled: true Style/HashConversion: Enabled: true Style/HashEachMethods: Enabled: true Style/HashExcept: Enabled: true Style/HashLikeCase: Enabled: true Style/HashSyntax: Enabled: true EnforcedStyle: ruby19 Style/HashTransformKeys: Enabled: true Style/HashTransformValues: Enabled: true Style/IfWithBooleanLiteralBranches: Enabled: true Style/InPatternThen: Enabled: true Style/InverseMethods: Enabled: true Style/Lambda: Enabled: true Style/MagicCommentFormat: Enabled: true Style/MapCompactWithConditionalBlock: Enabled: true Style/MapToHash: Enabled: true Style/MapToSet: Enabled: true Style/MethodDefParentheses: Enabled: true Style/MinMax: Enabled: true Style/MinMaxComparison: Enabled: true Style/MixinUsage: Exclude: - 'bin/setup' - 'bin/update' Style/ModuleFunction: Enabled: true Style/MultilineBlockChain: Enabled: true Style/MultilineInPatternThen: Enabled: true Style/MultilineTernaryOperator: Enabled: true Style/MultipleComparison: Enabled: true Style/MutableConstant: Enabled: true Style/NegatedIf: Enabled: true Style/NegatedIfElseCondition: Enabled: true Style/NegatedUnless: Enabled: true Style/NestedFileDirname: Enabled: true Style/Next: Enabled: true Style/NilLambda: Enabled: true Style/NonNilCheck: IncludeSemanticChanges: true Style/NumberedParameters: Enabled: true Style/NumberedParametersLimit: Enabled: true Style/NumericLiterals: Enabled: true Style/NumericPredicate: Enabled: true Style/ObjectThen: Enabled: true Style/OpenStructUse: Enabled: true Style/OperatorMethodCall: Enabled: true Style/OptionalBooleanParameter: Enabled: true Style/ParallelAssignment: Enabled: true Style/PercentQLiterals: Enabled: true Style/PerlBackrefs: Enabled: true Style/PreferredHashMethods: Enabled: true Style/QuotedSymbols: Enabled: true Style/RaiseArgs: Enabled: true Style/RedundantArgument: Enabled: true Style/RedundantCapitalW: Enabled: true Style/RedundantConstantBase: Enabled: true Style/RedundantDoubleSplatHashBraces: Enabled: true Style/RedundantEach: Enabled: true Style/RedundantInitialize: Enabled: true Style/RedundantSelfAssignment: Enabled: true Style/RedundantSelfAssignmentBranch: Enabled: true Style/RedundantStringEscape: Enabled: true Style/RegexpLiteral: Enabled: true Style/RescueStandardError: EnforcedStyle: explicit Style/SelectByRegexp: Enabled: true Style/SignalException: Enabled: true Style/SingleArgumentDig: Enabled: true Style/SingleLineMethods: AllowIfMethodIsEmpty: true Style/SoleNestedConditional: Enabled: true Style/SpecialGlobalVars: Enabled: true Style/StringChars: Enabled: true Style/StringConcatenation: Enabled: true Style/StringLiterals: EnforcedStyle: single_quotes Style/StringLiteralsInInterpolation: EnforcedStyle: single_quotes Style/StructInheritance: Enabled: true Style/SwapValues: Enabled: true Style/SymbolArray: Enabled: true Style/SymbolProc: Enabled: true Style/TernaryParentheses: EnforcedStyle: require_no_parentheses Style/TrailingUnderscoreVariable: Enabled: true Style/TrivialAccessors: AllowDSLWriters: true IgnoreClassMethods: false Style/WhileUntilModifier: Enabled: true Style/WordArray: Enabled: true Style/YodaExpression: Enabled: true Style/ZeroLengthPredicate: Enabled: true AllCops: NewCops: enable Exclude: - 'bin/**/*' - 'script/**/*' - 'log/**/*' - 'public/**/*' - 'tmp/**/*' - 'db/schema.rb' - 'vendor/**/*' - 'node_modules/**/*'