.rubocop.yml in dhis2-3.2.1 vs .rubocop.yml in dhis2-3.3.1

- old
+ new

@@ -1,38 +1,658 @@ -Rails: +AllCops: + Exclude: + - db/schema.rb + +require: + - rubocop-rails + - rubocop-performance + +Naming/AccessorMethodName: + Description: Check the naming of accessor methods for get_/set_. + Enabled: false + +Style/Alias: + Description: "Use alias_method instead of alias." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#alias-method" + Enabled: false + +Style/ArrayJoin: + Description: "Use Array#join instead of Array#*." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#array-join" + Enabled: false + +Style/AsciiComments: + Description: "Use only ascii symbols in comments." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#english-comments" + Enabled: false + +Naming/AsciiIdentifiers: + Description: "Use only ascii symbols in identifiers." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#english-identifiers" + Enabled: false + +Style/Attr: + Description: "Checks for uses of Module#attr." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#attr" + Enabled: false + +Metrics/BlockNesting: + Description: "Avoid excessive block nesting" + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count" + Enabled: false + +Style/CaseEquality: + Description: "Avoid explicit use of the case equality operator(===)." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-case-equality" + Enabled: false + +Style/CharacterLiteral: + Description: "Checks for uses of character literals." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-character-literals" + Enabled: false + +Style/ClassAndModuleChildren: + Description: "Checks style of children classes and modules." Enabled: true -AlignHash: - # Alignment of entries using hash rocket as separator. Valid values are: - # - # key - left alignment of keys - # 'a' => 2 - # 'bb' => 3 - # separator - alignment of hash rockets, keys are right aligned - # 'a' => 2 - # 'bb' => 3 - # table - left alignment of keys, hash rockets, and values - # 'a' => 2 - # 'bb' => 3 + EnforcedStyle: nested + +Metrics/ClassLength: + Description: "Avoid classes longer than 100 lines of code." + Enabled: false + +Metrics/ModuleLength: + Description: "Avoid modules longer than 100 lines of code." + Enabled: false + +Style/ClassVars: + Description: "Avoid the use of class variables." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-class-vars" + Enabled: false + +Style/CollectionMethods: + Enabled: true + PreferredMethods: + find: detect + inject: reduce + collect: map + find_all: select + +Style/ColonMethodCall: + Description: "Do not use :: for method call." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#double-colons" + Enabled: false + +Style/CommentAnnotation: + Description: >- + Checks formatting of special comments + (TODO, FIXME, OPTIMIZE, HACK, REVIEW). + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#annotate-keywords" + Enabled: false + +Metrics/AbcSize: + Description: >- + A calculated magnitude based on number of assignments, + branches, and conditions. + Enabled: false + +Metrics/BlockLength: + CountComments: true # count full line comments? + Max: 25 + ExcludedMethods: [] + Exclude: + - "spec/**/*" + +Metrics/CyclomaticComplexity: + Description: >- + A complexity metric that is strongly correlated to the number + of test cases needed to validate a method. + Enabled: false + +Rails/Delegate: + Description: "Prefer delegate method for delegations." + Enabled: false + +Style/PreferredHashMethods: + Description: "Checks use of `has_key?` and `has_value?` Hash methods." + StyleGuide: "#hash-key" + Enabled: false + +Style/Documentation: + Description: "Document classes and non-namespace modules." + Enabled: false + +Style/DoubleNegation: + Description: "Checks for uses of double negation (!!)." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-bang-bang" + Enabled: false + +Style/EachWithObject: + Description: "Prefer `each_with_object` over `inject` or `reduce`." + Enabled: false + +Style/EmptyLiteral: + Description: "Prefer literals to Array.new/Hash.new/String.new." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#literal-array-hash" + Enabled: false + +# Checks whether the source file has a utf-8 encoding comment or not +# AutoCorrectEncodingComment must match the regex +# /#.*coding\s?[:=]\s?(?:UTF|utf)-8/ +Style/Encoding: + Enabled: false + +Style/EvenOdd: + Description: "Favor the use of Fixnum#even? && Fixnum#odd?" + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#predicate-methods" + Enabled: false + +Naming/FileName: + Description: "Use snake_case for source file names." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#snake-case-files" + Enabled: false + +Style/FrozenStringLiteralComment: + Description: >- + Add the frozen_string_literal comment to the top of files + to help transition from Ruby 2.3.0 to Ruby 3.0. + Enabled: false + +Lint/FlipFlop: + Description: "Checks for flip flops" + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-flip-flops" + Enabled: false + +Style/FormatString: + Description: "Enforce the use of Kernel#sprintf, Kernel#format or String#%." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#sprintf" + Enabled: false + +Style/GlobalVars: + Description: "Do not introduce global variables." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#instance-vars" + Reference: "http://www.zenspider.com/Languages/Ruby/QuickRef.html" + Enabled: false + +Style/GuardClause: + Description: "Check for conditionals that can be replaced with guard clauses" + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals" + Enabled: false + +Style/IfUnlessModifier: + Description: >- + Favor modifier if/unless usage when you have a + single-line body. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier" + Enabled: false + +Style/IfWithSemicolon: + Description: "Do not use if x; .... Use the ternary operator instead." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs" + Enabled: false + +Style/InlineComment: + Description: "Avoid inline comments." + Enabled: false + +Style/Lambda: + Description: "Use the new lambda literal syntax for single-line blocks." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#lambda-multi-line" + Enabled: false + +Style/LambdaCall: + Description: "Use lambda.call(...) instead of lambda.(...)." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#proc-call" + Enabled: false + +Style/LineEndConcatenation: + Description: >- + Use \ instead of + or << to concatenate two string literals at + line end. + Enabled: false + +Layout/LineLength: + Description: "Limit lines to 80 characters." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#80-character-limits" + Max: 80 + +Metrics/MethodLength: + Description: "Avoid methods longer than 10 lines of code." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#short-methods" + Enabled: false + +Style/ModuleFunction: + Description: "Checks for usage of `extend self` in modules." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#module-function" + Enabled: false + +Style/MultilineBlockChain: + Description: "Avoid multi-line chains of blocks." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#single-line-blocks" + Enabled: false + +Style/NegatedIf: + Description: >- + Favor unless over if for negative conditions + (or control flow or). + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#unless-for-negatives" + Enabled: false + +Style/NegatedWhile: + Description: "Favor until over while for negative conditions." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#until-for-negatives" + Enabled: false + +Style/Next: + Description: "Use `next` to skip iteration instead of a condition at the end." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals" + Enabled: false + +Style/NilComparison: + Description: "Prefer x.nil? to x == nil." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#predicate-methods" + Enabled: false + +Style/Not: + Description: "Use ! instead of not." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#bang-not-not" + Enabled: false + +Style/NumericLiterals: + Description: >- + Add underscores to large numeric literals to improve their + readability. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics" + Enabled: false + +Style/OneLineConditional: + Description: >- + Favor the ternary operator(?:) over + if/then/else/end constructs. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#ternary-operator" + Enabled: false + +Naming/BinaryOperatorParameterName: + Description: "When defining binary operators, name the argument other." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#other-arg" + Enabled: false + +Metrics/ParameterLists: + Description: "Avoid parameter lists longer than three or four parameters." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#too-many-params" + Enabled: false + +Style/PercentLiteralDelimiters: + Description: "Use `%`-literal delimiters consistently" + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#percent-literal-braces" + Enabled: false + +Style/PerlBackrefs: + Description: "Avoid Perl-style regex back references." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers" + Enabled: false + +Naming/PredicateName: + Description: "Check the names of predicate methods." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark" + ForbiddenPrefixes: + - is_ + Exclude: + - spec/**/* + +Style/Proc: + Description: "Use proc instead of Proc.new." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#proc" + Enabled: false + +Style/RaiseArgs: + Description: "Checks the arguments passed to raise/fail." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#exception-class-messages" + Enabled: false + +Style/RegexpLiteral: + Description: "Use / or %r around regular expressions." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#percent-r" + Enabled: false + +Style/Sample: + Description: >- + Use `sample` instead of `shuffle.first`, + `shuffle.last`, and `shuffle[Fixnum]`. + Reference: "https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code" + Enabled: false + +Style/SelfAssignment: + Description: >- + Checks for places where self-assignment shorthand should have + been used. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#self-assignment" + Enabled: false + +Style/SingleLineBlockParams: + Description: "Enforces the names of some block params." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#reduce-blocks" + Enabled: false + +Style/SingleLineMethods: + Description: "Avoid single-line methods." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-single-line-methods" + Enabled: false + +Style/SignalException: + Description: "Checks for proper usage of fail and raise." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#fail-method" + Enabled: false + +Style/SpecialGlobalVars: + Description: "Avoid Perl-style global variables." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms" + Enabled: false + +Style/StringLiterals: + Description: "Checks if uses of quotes match the configured preference." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#consistent-string-literals" + EnforcedStyle: double_quotes + Enabled: true + +Style/TrailingCommaInArguments: + Description: "Checks for trailing comma in argument lists." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas" + EnforcedStyleForMultiline: comma + SupportedStylesForMultiline: + - comma + - consistent_comma + - no_comma + Enabled: true + +Style/TrailingCommaInArrayLiteral: + Description: "Checks for trailing comma in array literals." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas" + EnforcedStyleForMultiline: comma + SupportedStylesForMultiline: + - comma + - consistent_comma + - no_comma + Enabled: true + +Style/TrailingCommaInHashLiteral: + Description: "Checks for trailing comma in hash literals." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas" + EnforcedStyleForMultiline: comma + SupportedStylesForMultiline: + - comma + - consistent_comma + - no_comma + Enabled: true + +Style/TrivialAccessors: + Description: "Prefer attr_* methods to trivial readers/writers." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#attr_family" + Enabled: false + +Style/VariableInterpolation: + Description: >- + Don't interpolate global, instance and class variables + directly in strings. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#curlies-interpolate" + Enabled: false + +Style/WhenThen: + Description: "Use when x then ... for one-line cases." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#one-line-cases" + Enabled: false + +Style/WhileUntilModifier: + Description: >- + Favor modifier while/until usage when you have a + single-line body. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier" + Enabled: false + +Style/WordArray: + Description: "Use %w or %W for arrays of words." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#percent-w" + Enabled: false + +# Layout + +Layout/ParameterAlignment: + Description: "Here we check if the parameters on a multi-line method call or definition are aligned." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-double-indent" + Enabled: false + +Layout/HashAlignment: EnforcedHashRocketStyle: table - # Alignment of entries using colon as separator. Valid values are: - # - # key - left alignment of keys - # a: 0 - # bb: 1 - # separator - alignment of colons, keys are right aligned - # a: 0 - # bb: 1 - # table - left alignment of keys and values - # a: 0 - # bb: 1 EnforcedColonStyle: table -LineLength: - Max: 100 -StringLiterals: - EnforcedStyle: double_quotes -MethodCalledOnDoEndBlock: - Description: "Avoid chaining a method call on a do...end block." Enabled: true -ClassLength: - Max: 400 -Documentation: +Layout/ConditionPosition: + Description: >- + Checks for condition placed in a confusing position relative to + the keyword. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#same-line-condition" + Enabled: false + +Layout/DotPosition: + Description: "Checks the position of the dot in multi-line method calls." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains" + EnforcedStyle: trailing + +Layout/ExtraSpacing: + Description: "Do not use unnecessary spacing." + Enabled: true + +Layout/MultilineOperationIndentation: + Description: >- + Checks indentation of binary operations that span more than + one line. + Enabled: true + EnforcedStyle: indented + +Layout/MultilineMethodCallIndentation: + Description: >- + Checks indentation of method calls with the dot operator + that span more than one line. + Enabled: true + EnforcedStyle: indented + +Layout/InitialIndentation: + Description: >- + Checks the indentation of the first non-blank non-comment line in a file. + Enabled: false + +# Lint + +Lint/AmbiguousOperator: + Description: >- + Checks for ambiguous operators in the first argument of a + method invocation without parentheses. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#parens-as-args" + Enabled: false + +Lint/AmbiguousRegexpLiteral: + Description: >- + Checks for ambiguous regexp literals in the first argument of + a method invocation without parenthesis. + Enabled: false + +Lint/AssignmentInCondition: + Description: "Don't use assignment in conditions." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition" + Enabled: false + +Lint/CircularArgumentReference: + Description: "Don't refer to the keyword argument in the default value." + Enabled: false + +Lint/DeprecatedClassMethods: + Description: "Check for deprecated class method calls." + Enabled: false + +Lint/DuplicateHashKey: + Description: "Check for duplicate keys in hash literals." + Enabled: false + +Lint/EachWithObjectArgument: + Description: "Check for immutable argument given to each_with_object." + Enabled: false + +Lint/ElseLayout: + Description: "Check for odd code arrangement in an else block." + Enabled: false + +Lint/FormatParameterMismatch: + Description: "The number of parameters to format/sprint must match the fields." + Enabled: false + +Lint/SuppressedException: + Description: "Don't suppress exception." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions" + Enabled: false + +Lint/LiteralAsCondition: + Description: "Checks of literals used in conditions." + Enabled: false + +Lint/LiteralInInterpolation: + Description: "Checks for literals used in interpolation." + Enabled: false + +Lint/Loop: + Description: >- + Use Kernel#loop with break rather than begin/end/until or + begin/end/while for post-loop tests. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#loop-with-break" + Enabled: false + +Lint/NestedMethodDefinition: + Description: "Do not use nested method definitions." + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#no-nested-methods" + Enabled: false + +Lint/NonLocalExitFromIterator: + Description: "Do not use return in iterator to cause non-local exit." + Enabled: false + +Lint/ParenthesesAsGroupedExpression: + Description: >- + Checks for method calls with a space before the opening + parenthesis. + StyleGuide: "https://github.com/bbatsov/ruby-style-guide#parens-no-spaces" + Enabled: false + +Lint/RequireParentheses: + Description: >- + Use parentheses in the method call to avoid confusion + about precedence. + Enabled: false + +Lint/UnderscorePrefixedVariableName: + Description: "Do not use prefix `_` for a variable that is used." + Enabled: false + +Lint/RedundantCopDisableDirective: + Description: >- + Checks for rubocop:disable comments that can be removed. + Note: this cop is not disabled when disabling all cops. + It must be explicitly disabled. + Enabled: false + +Lint/Void: + Description: "Possible use of operator/literal/variable in void context." + Enabled: false + +# Performance + +Performance/CaseWhenSplat: + Description: >- + Place `when` conditions that use splat at the end + of the list of `when` branches. + Enabled: false + +Performance/Count: + Description: >- + Use `count` instead of `select...size`, `reject...size`, + `select...count`, `reject...count`, `select...length`, + and `reject...length`. + Enabled: false + +Performance/Detect: + Description: >- + Use `detect` instead of `select.first`, `find_all.first`, + `select.last`, and `find_all.last`. + Reference: "https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code" + Enabled: false + +Performance/FlatMap: + Description: >- + Use `Enumerable#flat_map` + instead of `Enumerable#map...Array#flatten(1)` + or `Enumberable#collect..Array#flatten(1)` + Reference: "https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code" + Enabled: false + +Performance/ReverseEach: + Description: "Use `reverse_each` instead of `reverse.each`." + Reference: "https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code" + Enabled: false + +Performance/Size: + Description: >- + Use `size` instead of `count` for counting + the number of elements in `Array` and `Hash`. + Reference: "https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code" + Enabled: false + +Performance/StringReplacement: + Description: >- + Use `tr` instead of `gsub` when you are replacing the same + number of characters. Use `delete` instead of `gsub` when + you are deleting characters. + Reference: "https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code" + Enabled: false + +# Rails + +Rails/ActionFilter: + Description: "Enforces consistent use of action filter methods." + Enabled: false + +Rails/Date: + Description: >- + Checks the correct usage of date aware methods, + such as Date.today, Date.current etc. + Enabled: false + +Rails/FindBy: + Description: "Prefer find_by over where.first." + Enabled: false + +Rails/FindEach: + Description: "Prefer all.find_each over all.find." + Enabled: false + +Rails/HasAndBelongsToMany: + Description: "Prefer has_many :through to has_and_belongs_to_many." + Enabled: false + +Rails/Output: + Description: "Checks for calls to puts, print, etc." + Enabled: false + +Rails/ReadWriteAttribute: + Description: >- + Checks for read_attribute(:attr) and + write_attribute(:attr, val). + Enabled: false + +Rails/ScopeArgs: + Description: "Checks the arguments of ActiveRecord scopes." + Enabled: false + +Rails/TimeZone: + Description: "Checks the correct usage of time zone aware methods." + StyleGuide: "https://github.com/bbatsov/rails-style-guide#time" + Reference: "http://danilenko.org/2012/7/6/rails_timezones" + Enabled: false + +Rails/Validation: + Description: "Use validates :attribute, hash of validations." Enabled: false