require: - rubocop-rake - rubocop-rspec AllCops: TargetRubyVersion: 2.5 Gemspec/DateAssignment: Enabled: true Layout/ArgumentAlignment: EnforcedStyle: with_fixed_indentation IndentationWidth: 4 Layout/BeginEndAlignment: Enabled: true Layout/CaseIndentation: EnforcedStyle: end Layout/EndOfLine: EnforcedStyle: lf Layout/EmptyLineAfterGuardClause: Enabled: false Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Layout/FirstArgumentIndentation: Enabled: false Layout/HeredocIndentation: Enabled: false Layout/LeadingCommentSpace: Enabled: false Layout/LineLength: Enabled: false # FIXME enable me Layout/MultilineOperationIndentation: EnforcedStyle: indented Layout/ParameterAlignment: EnforcedStyle: with_fixed_indentation IndentationWidth: 4 Layout/RescueEnsureAlignment: Enabled: false Layout/SpaceAroundMethodCallOperator: Enabled: true Layout/SpaceBeforeBrackets: Enabled: true Layout/SpaceInsideBlockBraces: SpaceBeforeBlockParameters: false Lint/AmbiguousAssignment: Enabled: true Lint/AmbiguousBlockAssociation: Enabled: false Lint/BinaryOperatorWithIdenticalOperands: Enabled: true Lint/ConstantDefinitionInBlock: Enabled: false Lint/DeprecatedConstants: Enabled: true Lint/DeprecatedOpenSSLConstant: Enabled: true Lint/DuplicateBranch: Enabled: true Lint/DuplicateElsifCondition: Enabled: true Lint/DuplicateRegexpCharacterClassElement: Enabled: true Lint/DuplicateRequire: Enabled: true Lint/DuplicateRescueException: Enabled: true Lint/EmptyBlock: Enabled: false Lint/EmptyClass: Enabled: true Lint/EmptyConditionalBody: Enabled: true Lint/EmptyFile: Enabled: true Lint/EmptyWhen: Enabled: false Lint/FloatComparison: Enabled: false Lint/IdentityComparison: Enabled: true Lint/LambdaWithoutLiteralBlock: Enabled: true Lint/MissingSuper: Enabled: false Lint/MixedRegexpCaptureTypes: Enabled: true Lint/NoReturnInBeginEndBlocks: Enabled: true Lint/NumberedParameterAssignment: Enabled: true Lint/OrAssignmentToConstant: Enabled: true Lint/OutOfRangeRegexpRef: Enabled: true Lint/ParenthesesAsGroupedExpression: Enabled: false Lint/RaiseException: Enabled: true Lint/RedundantDirGlobSort: Enabled: true Lint/SelfAssignment: Enabled: true Lint/StructNewOverride: Enabled: true Lint/SuppressedException: Enabled: false Lint/SymbolConversion: Enabled: true Lint/ToEnumArguments: Enabled: true Lint/TopLevelReturnWithArgument: Enabled: true Lint/TrailingCommaInAttributeDeclaration: Enabled: true Lint/TripleQuotes: Enabled: true Lint/UnexpectedBlockArity: Enabled: true Lint/UnmodifiedReduceAccumulator: Enabled: true Lint/UnreachableLoop: Enabled: true Lint/UselessMethodDefinition: Enabled: true Lint/UselessTimes: Enabled: true Metrics/AbcSize: Enabled: false Metrics/BlockLength: Enabled: false Metrics/BlockNesting: Max: 10 Metrics/ClassLength: Enabled: false Metrics/CyclomaticComplexity: Enabled: false Metrics/MethodLength: Enabled: false Metrics/ModuleLength: Enabled: false Metrics/ParameterLists: Max: 10 MaxOptionalParameters: 10 Metrics/PerceivedComplexity: Enabled: false Naming/AccessorMethodName: Enabled: false Naming/ConstantName: Enabled: false Naming/FileName: Enabled: false Naming/HeredocDelimiterNaming: Enabled: false Naming/MethodParameterName: Enabled: false RSpec/BeEql: Enabled: false RSpec/BeforeAfterAll: Enabled: false RSpec/ContextWording: Enabled: false RSpec/DescribeClass: Enabled: false RSpec/EmptyExampleGroup: Enabled: false RSpec/ExampleLength: Enabled: false RSpec/ExampleWording: Enabled: false RSpec/ExpectInHook: Enabled: false RSpec/FilePath: Enabled: false RSpec/MultipleExpectations: Enabled: false RSpec/NamedSubject: Enabled: false RSpec/VoidExpect: Enabled: false Security/Open: Enabled: false Style/AccessorGrouping: Enabled: true EnforcedStyle: separated Style/ArgumentsForwarding: Enabled: true Style/ArrayCoercion: Enabled: true Style/AsciiComments: Enabled: false Style/Attr: Enabled: false Style/BisectedAttrAccessor: Enabled: true Style/BlockComments: Enabled: false Style/BlockDelimiters: EnforcedStyle: braces_for_chaining Style/CaseEquality: Enabled: false Style/CaseLikeIf: Enabled: true Style/CharacterLiteral: Enabled: false Style/ClassAndModuleChildren: Enabled: false Style/CollectionCompact: Enabled: true Style/CombinableLoops: Enabled: true Style/CommandLiteral: EnforcedStyle: percent_x Style/CommentAnnotation: Keywords: - TODO - FIXME - HACK - NOTE - QUESTION Style/ConditionalAssignment: EnforcedStyle: assign_inside_condition IncludeTernaryExpressions: false Style/DocumentDynamicEvalDefinition: Enabled: true Style/Documentation: Enabled: false # FIXME enable me Style/DoubleNegation: Enabled: false Style/EmptyLiteral: Enabled: false Style/EndlessMethod: Enabled: true Style/ExplicitBlockArgument: Enabled: false Style/ExponentialNotation: Enabled: true Style/FormatString: EnforcedStyle: percent Style/FormatStringToken: Enabled: false Style/GlobalStdStream: Enabled: true Style/GuardClause: Enabled: false Style/HashConversion: Enabled: true Style/HashAsLastArrayItem: Enabled: false Style/HashEachMethods: Enabled: true Style/HashExcept: Enabled: true Style/HashLikeCase: Enabled: true Style/HashSyntax: EnforcedStyle: ruby19 Style/HashTransformKeys: Enabled: true Style/HashTransformValues: Enabled: true Style/IfWithBooleanLiteralBranches: Enabled: true Style/IfUnlessModifierOfIfUnless: Enabled: false Style/InfiniteLoop: Enabled: false # loop is measurably slower than while true Style/KeywordParametersOrder: Enabled: true Style/MethodCallWithArgsParentheses: Enabled: true EnforcedStyle: omit_parentheses Style/MethodDefParentheses: EnforcedStyle: require_no_parentheses Style/MultilineBlockChain: Enabled: false Style/MultilineIfModifier: Enabled: false Style/MultilineTernaryOperator: Enabled: false Style/MultipleComparison: Enabled: false Style/MutableConstant: Enabled: false Style/NegatedIfElseCondition: Enabled: true Style/NestedTernaryOperator: Enabled: false Style/NilLambda: Enabled: true Style/NumericPredicate: EnforcedStyle: comparison Style/OptionalBooleanParameter: Enabled: false Style/ParallelAssignment: Enabled: false Style/PercentLiteralDelimiters: PreferredDelimiters: default: "()" "%i": "()" "%r": "//" "%w": "()" "%W": "()" Style/PerlBackrefs: Enabled: false Style/RedundantArgument: Enabled: true Style/RedundantAssignment: Enabled: true Style/RedundantFetchBlock: Enabled: true Style/RedundantFileExtensionInRequire: Enabled: true Style/RedundantRegexpCharacterClass: Enabled: true Style/RedundantRegexpEscape: Enabled: true Style/RedundantSelfAssignment: Enabled: true Style/RegexpLiteral: Enabled: false Style/RescueModifier: Enabled: false Style/RescueStandardError: EnforcedStyle: implicit Style/SingleArgumentDig: Enabled: true Style/SlicingWithRange: Enabled: false Style/SoleNestedConditional: Enabled: false Style/SpecialGlobalVars: EnforcedStyle: use_perl_names Style/StringChars: Enabled: true Style/StringConcatenation: Enabled: false Style/SwapValues: Enabled: true Style/SymbolArray: EnforcedStyle: brackets Style/TernaryParentheses: Enabled: true EnforcedStyle: require_parentheses_when_complex Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: consistent_comma Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: consistent_comma