AllCops: Include: - 'lib/**/*.rb' - 'ext/**/*.rb' Exclude: - '**/*.erb' - 'acceptance/**/*' - 'autotest/**/*' - 'spec/**/*' - 'tasks/**/*' - 'vendor/**/*' Lint/ConditionPosition: Enabled: true Lint/ElseLayout: Enabled: true Lint/UnreachableCode: Enabled: true Lint/UselessComparison: Enabled: true # MAYBE useful - no return inside ensure block. Lint/EnsureReturn: Enabled: false # MAYBE useful - errors when rescue {} happens. Lint/HandleExceptions: Enabled: false # MAYBE useful - catches while 1 Lint/LiteralInCondition: Enabled: false Lint/ShadowingOuterLocalVariable: Enabled: true # Can catch complicated strings. Lint/LiteralInInterpolation: Enabled: true # DISABLED really useless. Detects return as last statement. Style/RedundantReturn: Enabled: false # Disabled. Throws an error trying to run. Style/RedundantParentheses: Enabled: false # DISABLED since the instances do not seem to indicate any specific errors. Lint/AmbiguousOperator: Enabled: false # DISABLED since for all the checked, we are basically checking nil # TODO: Change the checking so that if the variable being assigned to has # a value ALREADY, then raise an error. Lint/AssignmentInCondition: Enabled: false # DISABLED - not useful Layout/SpaceBeforeComment: Enabled: false # DISABLED - not useful Style/HashSyntax: Enabled: false # USES: as shortcut for non nil&valid checking a = x() and a.empty? # DISABLED - not useful Style/AndOr: Enabled: false # DISABLED - not useful Style/RedundantSelf: Enabled: false # DISABLED - not useful Metrics/MethodLength: Enabled: false Metrics/BlockLength: Enabled: false # DISABLED - not useful Style/WhileUntilModifier: Enabled: false # DISABLED - the offender is just haskell envy Lint/AmbiguousRegexpLiteral: Enabled: false # DISABLED Security/Eval: Enabled: false # DISABLED Lint/BlockAlignment: Enabled: false # DISABLED Lint/DefEndAlignment: Enabled: false # DISABLED Lint/EndAlignment: Enabled: false # DISABLED Lint/DeprecatedClassMethods: Enabled: false # DISABLED Lint/Loop: Enabled: false # DISABLED Lint/ParenthesesAsGroupedExpression: Enabled: false Lint/RescueException: Enabled: false Lint/StringConversionInInterpolation: Enabled: false Lint/UnusedBlockArgument: Enabled: false Lint/UnusedMethodArgument: Enabled: false # DISABLED - TODO Lint/UselessAccessModifier: Enabled: false # DISABLED - TODO Lint/UselessAssignment: Enabled: false # DISABLED - TODO Lint/Void: Enabled: false Layout/AccessModifierIndentation: Enabled: false Style/AccessorMethodName: Enabled: false Style/Alias: Enabled: false Layout/AlignArray: Enabled: false Layout/AlignHash: Enabled: false Layout/AlignParameters: Enabled: false Layout/IndentHeredoc: Enabled: false Metrics/BlockNesting: Enabled: false Style/AsciiComments: Enabled: false Style/Attr: Enabled: false Style/BracesAroundHashParameters: Enabled: false Style/CaseEquality: Enabled: false Style/SymbolArray: Enabled: false Style/EmptyCaseCondition: Enabled: false Layout/CaseIndentation: Enabled: false Layout/MultilineMethodCallBraceLayout: Enabled: false Style/CharacterLiteral: Enabled: false Style/ClassAndModuleCamelCase: Enabled: false Style/ClassAndModuleChildren: Enabled: false Style/ClassCheck: Enabled: false Metrics/ClassLength: Enabled: false Style/ClassMethods: Enabled: false Style/ClassVars: Enabled: false Style/WhenThen: Enabled: false # DISABLED - not useful Style/WordArray: Enabled: false Style/UnneededPercentQ: Enabled: false Layout/Tab: Enabled: false Layout/SpaceBeforeSemicolon: Enabled: false Layout/TrailingBlankLines: Enabled: false Layout/SpaceInsideBlockBraces: Enabled: false Layout/SpaceInsideBrackets: Enabled: false Layout/SpaceInsideHashLiteralBraces: Enabled: false Layout/SpaceInsideParens: Enabled: false Layout/LeadingCommentSpace: Enabled: false Layout/SpaceAfterColon: Enabled: false Layout/SpaceAfterComma: Enabled: false Layout/SpaceAroundKeyword: Enabled: false Layout/SpaceAfterMethodName: Enabled: false Layout/SpaceAfterNot: Enabled: false Layout/SpaceAfterSemicolon: Enabled: false Layout/SpaceAroundEqualsInParameterDefault: Enabled: false Layout/SpaceAroundOperators: Enabled: false Layout/SpaceBeforeBlockBraces: Enabled: false Layout/SpaceBeforeComma: Enabled: false Style/CollectionMethods: Enabled: false Layout/CommentIndentation: Enabled: false Style/ColonMethodCall: Enabled: false Style/CommentAnnotation: Enabled: false Metrics/CyclomaticComplexity: Enabled: false Style/ConstantName: Enabled: false Style/Documentation: Enabled: false Style/DefWithParentheses: Enabled: false Style/PreferredHashMethods: Enabled: false Layout/DotPosition: Enabled: false # DISABLED - used for converting to bool Style/DoubleNegation: Enabled: false Style/EachWithObject: Enabled: false Layout/EmptyLineBetweenDefs: Enabled: false Layout/IndentArray: Enabled: false Layout/IndentHash: Enabled: false Layout/IndentationConsistency: Enabled: false Layout/IndentationWidth: Enabled: false Layout/EmptyLines: Enabled: false Layout/EmptyLinesAroundAccessModifier: Enabled: false Style/EmptyLiteral: Enabled: false Metrics/LineLength: Enabled: false Style/MethodCallWithoutArgsParentheses: Enabled: false Style/MethodDefParentheses: Enabled: false Style/LineEndConcatenation: Enabled: false Layout/TrailingWhitespace: Enabled: false Style/StringLiterals: Enabled: false Style/TrailingCommaInLiteral: Enabled: false Style/TrailingCommaInArguments: Enabled: false Style/GlobalVars: Enabled: false Style/GuardClause: Enabled: false Style/IfUnlessModifier: Enabled: false Style/MultilineIfThen: Enabled: false Style/NegatedIf: Enabled: false Style/NegatedWhile: Enabled: false Style/Next: Enabled: false Style/SingleLineBlockParams: Enabled: false Style/SingleLineMethods: Enabled: false Style/SpecialGlobalVars: Enabled: false Style/TrivialAccessors: Enabled: false Style/UnlessElse: Enabled: false Style/VariableInterpolation: Enabled: false Style/VariableName: Enabled: false Style/WhileUntilDo: Enabled: false Style/EvenOdd: Enabled: false Style/FileName: Enabled: false Style/For: Enabled: false Style/Lambda: Enabled: false Style/MethodName: Enabled: false Style/MultilineTernaryOperator: Enabled: false Style/NestedTernaryOperator: Enabled: false Style/NilComparison: Enabled: false Style/FormatString: Enabled: false Style/MultilineBlockChain: Enabled: false Style/Semicolon: Enabled: false Style/SignalException: Enabled: false Style/NonNilCheck: Enabled: false Style/Not: Enabled: false Style/NumericLiterals: Enabled: false Style/OneLineConditional: Enabled: false Style/OpMethod: Enabled: false Style/ParenthesesAroundCondition: Enabled: false Style/PercentLiteralDelimiters: Enabled: false Style/PerlBackrefs: Enabled: false Style/PredicateName: Enabled: false Style/RedundantException: Enabled: false Style/SelfAssignment: Enabled: false Style/Proc: Enabled: false Style/RaiseArgs: Enabled: false Style/RedundantBegin: Enabled: false Style/RescueModifier: Enabled: false Style/RegexpLiteral: Enabled: false Lint/UnderscorePrefixedVariableName: Enabled: false Metrics/ParameterLists: Enabled: false Lint/RequireParentheses: Enabled: false Layout/SpaceBeforeFirstArg: Enabled: false Style/ModuleFunction: Enabled: false Lint/Debugger: Enabled: false Style/IfWithSemicolon: Enabled: false Style/Encoding: Enabled: false Metrics/PerceivedComplexity: Enabled: false Style/SymbolProc: Enabled: false Layout/SpaceInsideRangeLiteral: Enabled: false Style/InfiniteLoop: Enabled: false Style/BarePercentLiterals: Enabled: false Style/PercentQLiterals: Enabled: false Layout/MultilineBlockLayout: Enabled: false Metrics/AbcSize: Enabled: false Style/MutableConstant: Enabled: false Style/BlockDelimiters: Enabled: false Layout/EmptyLinesAroundClassBody: Enabled: false Style/ConditionalAssignment: Enabled: false Layout/ExtraSpacing: Enabled: false Layout/EmptyLinesAroundBlockBody: Enabled: false Layout/EmptyLinesAroundModuleBody: Enabled: false Layout/MultilineOperationIndentation: Enabled: false Style/EmptyElse: Enabled: false Style/StringLiteralsInInterpolation: Enabled: false Layout/MultilineMethodCallIndentation: Enabled: false Metrics/ModuleLength: Enabled: false Layout/EmptyLinesAroundMethodBody: Enabled: false Lint/IneffectiveAccessModifier: Enabled: false Performance/StringReplacement: Enabled: false Layout/ClosingParenthesisIndentation: Enabled: false Style/UnneededInterpolation: Enabled: false Layout/ElseAlignment: Enabled: false Style/FrozenStringLiteralComment: Enabled: false Layout/FirstParameterIndentation: Enabled: false Style/IfInsideElse: Enabled: false Layout/IndentAssignment: Enabled: false Layout/SpaceAroundBlockParameters: Enabled: false Style/ParallelAssignment: Enabled: false Performance/RedundantBlockCall: Enabled: false Style/IdenticalConditionalBranches: Enabled: false Performance/RedundantMatch: Enabled: false Style/CommandLiteral: Enabled: false Performance/Casecmp: Enabled: false Lint/NestedMethodDefinition: Enabled: false Layout/SpaceInsideStringInterpolation: Enabled: false Performance/RedundantMerge: Enabled: false Performance/ReverseEach: Enabled: false Style/NestedModifier: Enabled: false Lint/NonLocalExitFromIterator: Enabled: false Performance/Count: Enabled: false Style/NestedParenthesizedCalls: Enabled: false Layout/RescueEnsureAlignment: Enabled: false Lint/DuplicateMethods: Enabled: false Performance/RangeInclude: Enabled: false Style/TrailingUnderscoreVariable: Enabled: false Performance/DoubleStartEndWith: Enabled: false Performance/RedundantSortBy: Enabled: false Performance/TimesMap: Enabled: false Layout/InitialIndentation: Enabled: false Style/StructInheritance: Enabled: false Style/SymbolLiteral: Enabled: false Style/IfUnlessModifierOfIfUnless: Enabled: false Style/ZeroLengthPredicate: Enabled: false Bundler/OrderedGems: Enabled: false # Enforce LF line endings, even when on Windows Layout/EndOfLine: EnforcedStyle: lf