evolve75/RubyTree

View on GitHub
setup.rb

Summary

Maintainability
F
6 days
Test Coverage

File setup.rb has 1241 lines of code (exceeds 250 allowed). Consider refactoring.
Open

unless Enumerable.method_defined?(:map)   # Ruby 1.4.6
  module Enumerable
    alias map collect
  end
end
Severity: Major
Found in setup.rb - About 3 days to fix

    Class Installer has 44 methods (exceeds 20 allowed). Consider refactoring.
    Open

    class Installer
    
      FILETYPES = %w( bin lib ext data conf man )
    
      include FileOperations
    Severity: Minor
    Found in setup.rb - About 6 hrs to fix

      Method standard_entries has 99 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        def standard_entries(rbconfig)
          c = rbconfig
      
          rubypath = File.join(c['bindir'], c['ruby_install_name'] + c['EXEEXT'])
      
      
      Severity: Major
      Found in setup.rb - About 3 hrs to fix

        Class ToplevelInstaller has 26 methods (exceeds 20 allowed). Consider refactoring.
        Open

        class ToplevelInstaller
        
          Version   = '3.4.1'
          Copyright = 'Copyright (c) 2000-2005 Minero Aoki'
        
        
        Severity: Minor
        Found in setup.rb - About 3 hrs to fix

          Class ConfigTable has 23 methods (exceeds 20 allowed). Consider refactoring.
          Open

          class ConfigTable
          
            include Enumerable
          
            def initialize(rbconfig)
          Severity: Minor
          Found in setup.rb - About 2 hrs to fix

            Method update_shebang_line has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
            Open

              def update_shebang_line(path)
                return if no_harm?
                return if config('shebang') == 'never'
                old = Shebang.load(path)
                if old
            Severity: Minor
            Found in setup.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 standard_entries has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
            Open

              def standard_entries(rbconfig)
                c = rbconfig
            
                rubypath = File.join(c['bindir'], c['ruby_install_name'] + c['EXEEXT'])
            
            
            Severity: Minor
            Found in setup.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 install has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
            Open

              def install(from, dest, mode, prefix = nil)
                $stderr.puts "install #{from} #{dest}" if verbose?
                return if no_harm?
            
                realdest = prefix ? prefix + File.expand_path(dest) : dest
            Severity: Minor
            Found in setup.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 remove_tree0 has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
            Open

              def remove_tree0(path)
                Dir.foreach(path) do |ent|
                  next if ent == '.'
                  next if ent == '..'
                  entpath = "#{path}/#{ent}"
            Severity: Minor
            Found in setup.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 print_usage has 33 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

              def print_usage(out)
                out.puts 'Typical Installation Procedure:'
                out.puts "  $ ruby #{File.basename $0} config"
                out.puts "  $ ruby #{File.basename $0} setup"
                out.puts "  # ruby #{File.basename $0} install (may require root privilege)"
            Severity: Minor
            Found in setup.rb - About 1 hr to fix

              Method parsearg_config has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
              Open

                def parsearg_config
                  evalopt = []
                  set = []
                  @config.config_opt = []
                  while i = ARGV.shift
              Severity: Minor
              Found in setup.rb - About 55 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 initialize has 5 arguments (exceeds 4 allowed). Consider refactoring.
              Open

                  def initialize(name, template, default, help_default, desc)
              Severity: Minor
              Found in setup.rb - About 35 mins to fix

                Method mkdir_p has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                  def mkdir_p(dirname, prefix = nil)
                    dirname = prefix + File.expand_path(dirname) if prefix
                    $stderr.puts "mkdir -p #{dirname}" if verbose?
                    return if no_harm?
                
                
                Severity: Minor
                Found in setup.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 parsearg_install has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                  def parsearg_install
                    @config.no_harm = false
                    @config.install_prefix = ''
                    while a = ARGV.shift
                      case a
                Severity: Minor
                Found in setup.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 new_shebang has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                  def new_shebang(old)
                    if /\Aruby/ =~ File.basename(old.cmd)
                      Shebang.new(config('rubypath'), old.args)
                    elsif File.basename(old.cmd) == 'env' and old.args.first == 'ruby'
                      Shebang.new(config('rubypath'), old.args[1..-1])
                Severity: Minor
                Found in setup.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 exec_task_traverse has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                  def exec_task_traverse(task)
                    run_hook "pre-#{task}"
                    FILETYPES.each do |type|
                      if type == 'ext' and config('without-ext') == 'yes'
                        $stderr.puts 'skipping ext/* by user option' if verbose?
                Severity: Minor
                Found in setup.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_selected_installers has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                  def each_selected_installers
                    Dir.mkdir 'packages' unless File.dir?('packages')
                    @selected.each do |pack|
                      $stderr.puts "Processing the package `#{pack}' ..." if verbose?
                      Dir.mkdir "packages/#{pack}" unless File.dir?("packages/#{pack}")
                Severity: Minor
                Found in setup.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 parsearg_global has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                  def parsearg_global
                    while arg = ARGV.shift
                      case arg
                      when /\A\w+\z/
                        setup_rb_error "invalid task: #{arg}" unless valid_task?(arg)
                Severity: Minor
                Found in setup.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 exec_test has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                Open

                  def exec_test
                    unless File.directory?('test')
                      $stderr.puts 'no test in this package' if verbose?
                      return
                    end
                Severity: Minor
                Found in setup.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 invoke has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                Open

                  def invoke
                    run_metaconfigs
                    case task = parsearg_global()
                    when nil, 'all'
                      parsearg_config
                Severity: Minor
                Found in setup.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 dive_into has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                Open

                  def dive_into(rel)
                    return unless File.dir?("#{@srcdir}/#{rel}")
                
                    dir = File.basename(rel)
                    Dir.mkdir dir unless File.dir?(dir)
                Severity: Minor
                Found in setup.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

                There are no issues that match your filters.

                Category
                Status