awesome-print/awesome_print

View on GitHub
lib/awesome_print/inspector.rb

Summary

Maintainability
A
1 hr
Test Coverage

Class has too many lines. [118/100]
Open

  class Inspector
    attr_accessor :options, :indentator

    AP = :__awesome_print__

Severity: Minor
Found in lib/awesome_print/inspector.rb by rubocop

This cop checks if the length a class exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method has too many lines. [41/10]
Open

    def initialize(options = {})
      @options = {
        indent:        4,      # Number of spaces for indenting.
        index:         true,   # Display array indices.
        html:          false,  # Use ANSI color codes rather than HTML.
Severity: Minor
Found in lib/awesome_print/inspector.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method initialize has 41 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    def initialize(options = {})
      @options = {
        indent:        4,      # Number of spaces for indenting.
        index:         true,   # Display array indices.
        html:          false,  # Use ANSI color codes rather than HTML.
Severity: Minor
Found in lib/awesome_print/inspector.rb - About 1 hr to fix

    Replace class var @@dotfile_readable with a class instance var.
    Open

        @@dotfile_readable = @@dotfile = nil
    Severity: Minor
    Found in lib/awesome_print/inspector.rb by rubocop

    This cop checks for uses of class variables. Offenses are signaled only on assignment to class variables to reduce the number of offenses that would be reported.

    Replace class var @@dotfile with a class instance var.
    Open

            @@dotfile_readable = File.readable?(@@dotfile = dotfile)
    Severity: Minor
    Found in lib/awesome_print/inspector.rb by rubocop

    This cop checks for uses of class variables. Offenses are signaled only on assignment to class variables to reduce the number of offenses that would be reported.

    Use def with parentheses when there are parameters.
    Open

        def dotfile_readable? dotfile
    Severity: Minor
    Found in lib/awesome_print/inspector.rb by rubocop

    This cops checks for parentheses around the arguments in method definitions. Both instance and class/singleton methods are checked.

    Example: EnforcedStyle: require_parentheses (default)

    # The `require_parentheses` style requires method definitions
    # to always use parentheses
    
    # bad
    def bar num1, num2
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end
    
    # good
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end

    Example: EnforcedStyle: requirenoparentheses

    # The `require_no_parentheses` style requires method definitions
    # to never use parentheses
    
    # bad
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end
    
    # good
    def bar num1, num2
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end

    Example: EnforcedStyle: requirenoparenthesesexceptmultiline

    # The `require_no_parentheses_except_multiline` style prefers no
    # parantheses when method definition arguments fit on single line,
    # but prefers parantheses when arguments span multiple lines.
    
    # bad
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end
    
    # good
    def bar num1, num2
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end

    Missing top-level class documentation comment.
    Open

      class Inspector
    Severity: Minor
    Found in lib/awesome_print/inspector.rb by rubocop

    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

    Replace class var @@dotfile with a class instance var.
    Open

        @@dotfile_readable = @@dotfile = nil
    Severity: Minor
    Found in lib/awesome_print/inspector.rb by rubocop

    This cop checks for uses of class variables. Offenses are signaled only on assignment to class variables to reduce the number of offenses that would be reported.

    Avoid rescuing without specifying an error class.
    Open

        rescue => e
    Severity: Minor
    Found in lib/awesome_print/inspector.rb by rubocop

    This cop checks for rescuing StandardError. There are two supported styles implicit and explicit. This cop will not register an offense if any error other than StandardError is specified.

    Example: EnforcedStyle: implicit

    # `implicit` will enforce using `rescue` instead of
    # `rescue StandardError`.
    
    # bad
    begin
      foo
    rescue StandardError
      bar
    end
    
    # good
    begin
      foo
    rescue
      bar
    end
    
    # good
    begin
      foo
    rescue OtherError
      bar
    end
    
    # good
    begin
      foo
    rescue StandardError, SecurityError
      bar
    end

    Example: EnforcedStyle: explicit (default)

    # `explicit` will enforce using `rescue StandardError`
    # instead of `rescue`.
    
    # bad
    begin
      foo
    rescue
      bar
    end
    
    # good
    begin
      foo
    rescue StandardError
      bar
    end
    
    # good
    begin
      foo
    rescue OtherError
      bar
    end
    
    # good
    begin
      foo
    rescue StandardError, SecurityError
      bar
    end

    Use warn instead of $stderr.puts to allow such output to be disabled.
    Open

          $stderr.puts "Could not load '.aprc' from ENV['HOME']: #{e}"
    Severity: Minor
    Found in lib/awesome_print/inspector.rb by rubocop

    This cop identifies places where $stderr.puts can be replaced by warn. The latter has the advantage of easily being disabled by, e.g. the -W0 interpreter flag, or setting $VERBOSE to nil.

    Example:

    # bad
    $stderr.puts('hello')
    
    # good
    warn('hello')

    Replace class var @@dotfile_readable with a class instance var.
    Open

            @@dotfile_readable = File.readable?(@@dotfile = dotfile)
    Severity: Minor
    Found in lib/awesome_print/inspector.rb by rubocop

    This cop checks for uses of class variables. Offenses are signaled only on assignment to class variables to reduce the number of offenses that would be reported.

    There are no issues that match your filters.

    Category
    Status