uptech/togls

View on GitHub
lib/togls/rule_type_repository_drivers/in_memory_driver.rb

Summary

Maintainability
A
35 mins
Test Coverage

Method store has 5 arguments (exceeds 4 allowed). Consider refactoring.
Open

      def store(type_id, klass_str, title, description, target_type)
Severity: Minor
Found in lib/togls/rule_type_repository_drivers/in_memory_driver.rb - About 35 mins to fix

    Redundant else-clause.
    Open

              else

    Checks for empty else-clauses, possibly including comments and/or an explicit nil depending on the EnforcedStyle.

    Example: EnforcedStyle: empty

    # warn only on empty else
    
    # bad
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      nil
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    Example: EnforcedStyle: nil

    # warn on else with nil in it
    
    # bad
    if condition
      statement
    else
      nil
    end
    
    # good
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    Example: EnforcedStyle: both (default)

    # warn on empty else and else with nil in it
    
    # bad
    if condition
      statement
    else
      nil
    end
    
    # bad
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    Missing magic comment # frozen_string_literal: true.
    Open

    module Togls

    This cop is designed to help upgrade to Ruby 3.0. It will add the comment # frozen_string_literal: true to the top of files to enable frozen string literals. Frozen string literals may be default in Ruby 3.0. The comment will be added below a shebang and encoding comment. The frozen string literal comment is only valid in Ruby 2.3+.

    Example: EnforcedStyle: when_needed (default)

    # The `when_needed` style will add the frozen string literal comment
    # to files only when the `TargetRubyVersion` is set to 2.3+.
    # bad
    module Foo
      # ...
    end
    
    # good
    # frozen_string_literal: true
    
    module Foo
      # ...
    end

    Example: EnforcedStyle: always

    # The `always` style will always add the frozen string literal comment
    # to a file, regardless of the Ruby version or if `freeze` or `<<` are
    # called on a string literal.
    # bad
    module Bar
      # ...
    end
    
    # good
    # frozen_string_literal: true
    
    module Bar
      # ...
    end

    Example: EnforcedStyle: never

    # The `never` will enforce that the frozen string literal comment does
    # not exist in a file.
    # bad
    # frozen_string_literal: true
    
    module Baz
      # ...
    end
    
    # good
    module Baz
      # ...
    end

    Redundant else-clause.
    Open

              else

    Checks for empty else-clauses, possibly including comments and/or an explicit nil depending on the EnforcedStyle.

    Example: EnforcedStyle: empty

    # warn only on empty else
    
    # bad
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      nil
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    Example: EnforcedStyle: nil

    # warn on else with nil in it
    
    # bad
    if condition
      statement
    else
      nil
    end
    
    # good
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    Example: EnforcedStyle: both (default)

    # warn on empty else and else with nil in it
    
    # bad
    if condition
      statement
    else
      nil
    end
    
    # bad
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    Use Hash#key? instead of Hash#has_key?.
    Open

              if @rule_types.has_key?(type_id)

    This cop (by default) checks for uses of methods Hash#haskey? and Hash#hasvalue? where it enforces Hash#key? and Hash#value? It is configurable to enforce the inverse, using verbose method names also.

    Example: EnforcedStyle: short (default)

    # bad Hash#haskey? Hash#hasvalue?

    # good Hash#key? Hash#value?

    Example: EnforcedStyle: verbose

    # bad Hash#key? Hash#value?

    # good Hash#haskey? Hash#hasvalue?

    Use Hash#key? instead of Hash#has_key?.
    Open

              if @type_ids.has_key?(klass_str)

    This cop (by default) checks for uses of methods Hash#haskey? and Hash#hasvalue? where it enforces Hash#key? and Hash#value? It is configurable to enforce the inverse, using verbose method names also.

    Example: EnforcedStyle: short (default)

    # bad Hash#haskey? Hash#hasvalue?

    # good Hash#key? Hash#value?

    Example: EnforcedStyle: verbose

    # bad Hash#key? Hash#value?

    # good Hash#haskey? Hash#hasvalue?

    Missing top-level class documentation comment.
    Open

        class InMemoryDriver

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Use Hash#key? instead of Hash#has_key?.
    Open

              if @rule_types.has_key?(type_id)

    This cop (by default) checks for uses of methods Hash#haskey? and Hash#hasvalue? where it enforces Hash#key? and Hash#value? It is configurable to enforce the inverse, using verbose method names also.

    Example: EnforcedStyle: short (default)

    # bad Hash#haskey? Hash#hasvalue?

    # good Hash#key? Hash#value?

    Example: EnforcedStyle: verbose

    # bad Hash#key? Hash#value?

    # good Hash#haskey? Hash#hasvalue?

    Redundant else-clause.
    Open

              else

    Checks for empty else-clauses, possibly including comments and/or an explicit nil depending on the EnforcedStyle.

    Example: EnforcedStyle: empty

    # warn only on empty else
    
    # bad
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      nil
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    Example: EnforcedStyle: nil

    # warn on else with nil in it
    
    # bad
    if condition
      statement
    else
      nil
    end
    
    # good
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    Example: EnforcedStyle: both (default)

    # warn on empty else and else with nil in it
    
    # bad
    if condition
      statement
    else
      nil
    end
    
    # bad
    if condition
      statement
    else
    end
    
    # good
    if condition
      statement
    else
      statement
    end
    
    # good
    if condition
      statement
    end

    There are no issues that match your filters.

    Category
    Status