moonglum/exogenesis

View on GitHub

Showing 5 of 5 total issues

Class Executor has 21 methods (exceeds 20 allowed). Consider refactoring.
Open

class Executor
  include Singleton

  def initialize
    @output = Output.instance
Severity: Minor
Found in lib/exogenesis/support/executor.rb - About 2 hrs to fix

    Method up has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
    Open

      def up
        if command_exists? 'pip'
          skip_task 'Install Python'
        else
          execute 'Install Python', 'brew install python'
    Severity: Minor
    Found in lib/exogenesis/passengers/python.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 ln_s has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
    Open

      def ln_s(src, dest)
        if dest.symlink? && dest.readlink == src
          skip_task "Linking #{src}", 'Already linked'
        else
          start_task "Linking #{src}"
    Severity: Minor
    Found in lib/exogenesis/support/executor.rb - About 35 mins 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 each_brew_to_install has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

      def each_brew_to_install
        brews.each do |brew|
          if brew.class == String
            name = brew
            options = []
    Severity: Minor
    Found in lib/exogenesis/passengers/homebrew.rb - About 25 mins 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 execute has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

      def execute(description, script)
        start_task description
    
        output, error_output, exit_status = nil
        Bundler.with_clean_env do
    Severity: Minor
    Found in lib/exogenesis/support/executor.rb - About 25 mins 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

    Severity
    Category
    Status
    Source
    Language