inherit_mode: merge: - Exclude - Include # Allow one line around block body (Layout/EmptyLines will still disallow two or more) Layout/EmptyLinesAroundBlockBody: Enabled: false # Allow one line around class body (Layout/EmptyLines will still disallow two or more) Layout/EmptyLinesAroundClassBody: Enabled: false # Allow one line around module body (Layout/EmptyLines will still disallow two or more) Layout/EmptyLinesAroundModuleBody: Enabled: false # Reasonable line-length check; it's too easy for the cure to be worse than the disease Layout/LineLength: Max: 150 # Make indents consistent regardless of the lengths of variables and method names and whatnot Layout/MultilineMethodCallIndentation: EnforcedStyle: indented # Produces monsters Layout/MultilineOperationIndentation: Enabled: false # We meant to do that Naming/MemoizedInstanceVariableName: Enabled: False # It works in context, trust us Naming/MethodParameterName: Enabled: False # Confusing and weird Naming/VariableNumber: Enabled: False # Do what's readable in the context you're in Style/AccessModifierDeclarations: Enabled: false # 👎 to cultural imperialism Style/AsciiComments: Enabled: false # Seriously? Style/CommentedKeyword: Enabled: False # Disable problematic module documentation check (see https://github.com/bbatsov/rubocop/issues/947) Style/Documentation: Enabled: false # Adding more line noise to format strings will not improve them Style/FormatStringToken: Enabled: false # Putting '# frozen_string_literal: true' everywhere does not make the world a better place Style/FrozenStringLiteralComment: Enabled: false # Requiring the lambda() method just makes wordy calls wordier Style/Lambda: EnforcedStyle: literal # `foo.positive?` is cute, but it's not actually more readable than `foo > 0` Style/NumericPredicate: Enabled: false # Unclear why it's a good idea to give parameters semantically meaningless names Style/SingleLineBlockParams: Enabled: false # The semantics of `foo&.bar` are a lot less interchangeable with `foo && foo.bar` than RuboCop thinks Style/SafeNavigation: Enabled: false # Short arrays are often more readable as plain arrays Style/WordArray: MinSize: 3 ############################################################ # Added in RuboCop 0.80 Style/HashEachMethods: Enabled: true Style/HashTransformKeys: Enabled: true Style/HashTransformValues: Enabled: true ############################################################ # Added in RuboCop 0.81 Lint/StructNewOverride: Enabled: true Lint/RaiseException: Enabled: true ############################################################ # Added in RuboCop 0.82 Layout/SpaceAroundMethodCallOperator: Enabled: true Style/ExponentialNotation: Enabled: false ############################################################ # Added in RuboCop 0.83 Layout/EmptyLinesAroundAttributeAccessor: Enabled: true Style/SlicingWithRange: Enabled: true ############################################################ # Added in RuboCop 0.84 Lint/DeprecatedOpenSSLConstant: Enabled: true ############################################################ # Added in RuboCop 0.85 Lint/MixedRegexpCaptureTypes: Enabled: true Style/RedundantRegexpEscape: Enabled: true Style/RedundantRegexpCharacterClass: Enabled: true ############################################################ # Added in Rubocop 0.86 Style/RedundantFetchBlock: Enabled: true ############################################################ # Added in Rubocop 0.87 # Sometimes we separate things for a reason Style/AccessorGrouping: Enabled: false Style/BisectedAttrAccessor: Enabled: true Style/RedundantAssignment: Enabled: true ############################################################ # Added in Rubocop 0.88 Lint/DuplicateElsifCondition: Enabled: true Style/ArrayCoercion: Enabled: true Style/CaseLikeIf: Enabled: true Style/HashAsLastArrayItem: Enabled: true Style/HashLikeCase: Enabled: true Style/RedundantFileExtensionInRequire: Enabled: true ############################################################ # Added in Rubocop 0.89 Lint/BinaryOperatorWithIdenticalOperands: Enabled: true Lint/DuplicateRescueException: Enabled: true Lint/EmptyConditionalBody: Enabled: true Lint/FloatComparison: Enabled: true Lint/MissingSuper: Enabled: true Lint/OutOfRangeRegexpRef: Enabled: true Lint/SelfAssignment: Enabled: true Lint/TopLevelReturnWithArgument: Enabled: true Lint/UnreachableLoop: Enabled: true Style/ExplicitBlockArgument: Enabled: true Style/GlobalStdStream: Enabled: true Style/OptionalBooleanParameter: Enabled: true Style/SingleArgumentDig: Enabled: true Style/SoleNestedConditional: Enabled: true Style/StringConcatenation: Enabled: true ############################################################ # Added in Rubocop 0.90 Lint/DuplicateRequire: Enabled: true Lint/EmptyFile: Enabled: true Lint/TrailingCommaInAttributeDeclaration: Enabled: true Lint/UselessMethodDefinition: Enabled: true Style/CombinableLoops: Enabled: true Style/KeywordParametersOrder: Enabled: true Style/RedundantSelfAssignment: Enabled: true ############################################################ # Added in Rubocop 0.91 Layout/BeginEndAlignment: Enabled: true Lint/ConstantDefinitionInBlock: Enabled: true Lint/IdentityComparison: Enabled: true Lint/UselessTimes: Enabled: true ############################################################ # Added in Rubocop 1.1–1.9 Layout/SpaceBeforeBrackets: # (new in 1.7) Enabled: true Lint/AmbiguousAssignment: # (new in 1.7) Enabled: true Lint/DeprecatedConstants: # (new in 1.8) Enabled: true Lint/DuplicateBranch: # (new in 1.3) 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/LambdaWithoutLiteralBlock: # (new in 1.8) Enabled: true Lint/NoReturnInBeginEndBlocks: # (new in 1.2) 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/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: true Style/DocumentDynamicEvalDefinition: # (new in 1.1) Enabled: true Style/EndlessMethod: # (new in 1.8) Enabled: true Style/HashExcept: # (new in 1.7) Enabled: true Style/IfWithBooleanLiteralBranches: # (new in 1.9) Enabled: true Style/NegatedIfElseCondition: # (new in 1.2) Enabled: true Style/NilLambda: # (new in 1.3) Enabled: true Style/RedundantArgument: # (new in 1.4) Enabled: true Style/SwapValues: # (new in 1.1) Enabled: true ############################################################ # Added in RuboCop 1.10 Gemspec/DateAssignment: # (new in 1.10) Enabled: true Style/HashConversion: # (new in 1.10) Enabled: true