chrisjones-tripletri/action_command

View on GitHub
lib/action_command/input_output.rb

Summary

Maintainability
A
2 hrs
Test Coverage

Method process_output has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def process_output(dest, result)
      return unless result.ok? && should_validate(dest)

      @output.each do |param|
        sym = param[:symbol]
Severity: Minor
Found in lib/action_command/input_output.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method validate_input has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
Open

    def validate_input(dest, args)
      return true unless should_validate(dest)
      @input.each do |p|
        val = args[p[:symbol]]
      
Severity: Minor
Found in lib/action_command/input_output.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Use empty lines between method definitions.
Open

    def input(sym, desc, opts = {}, &_block)
Severity: Minor
Found in lib/action_command/input_output.rb by rubocop

This cop checks whether method definitions are separated by one empty line.

NumberOfEmptyLines can be and integer (e.g. 1 by default) or an array (e.g. [1, 2]) to specificy a minimum and a maximum of empty lines.

AllowAdjacentOneLineDefs can be used to configure is adjacent one line methods definitions are an offense

Example:

# bad
def a
end
def b
end

Example:

# good
def a
end

def b
end

There are no issues that match your filters.

Category
Status