nesquena/gitdocs

View on GitHub

Showing 676 of 676 total issues

Block has too many lines. [45/25]
Open

    get('/:id*') do
      default_locals = {
        root:      repository.root,
        nav_state: nil
      }
Severity: Minor
Found in lib/gitdocs/browser_app.rb by rubocop

This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

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

    def merge
      return nil        unless valid?
      return :no_remote unless remote?
      return :ok        unless remote_oid
      return :ok        if remote_oid == current_oid
Severity: Minor
Found in lib/gitdocs/repository.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

Block has too many lines. [44/25]
Open

  describe '.for_merge' do
    subject { git_notifier.for_merge(result) }

    describe 'with no changes' do
      before do
Severity: Minor
Found in test/unit/git_notifier_test.rb by rubocop

This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

Assignment Branch Condition size for bare_commit is too high. [17.49/15]
Open

    def bare_commit(repo_name, filename, content, author_id = 0)
      commit_message = 'commit'
      repo = rugged_repository(repo_name)

      index = Rugged::Index.new
Severity: Minor
Found in test/support/git_factory.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Cyclomatic complexity for after_teardown is too high. [8/6]
Open

  def after_teardown
    restore_env
    processes.clear

    if File.exist?(PID_FILE)
Severity: Minor
Found in test/integration/test_helper.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

Assignment Branch Condition size for commit is too high. [17.15/15]
Open

      def commit
        # Do this first to allow the message file to be deleted, if it exists.
        message = read_and_delete_commit_message_file

        mark_empty_directories
Severity: Minor
Found in lib/gitdocs/repository/committer.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Block has too many lines. [43/25]
Open

  describe '#need_sync' do
    subject { repository.need_sync? }

    describe 'when invalid' do
      let(:path_or_share) { 'tmp/unit/missing' }
Severity: Minor
Found in test/unit/repository_test.rb by rubocop

This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

Cyclomatic complexity for merge is too high. [7/6]
Open

    def merge
      return nil        unless valid?
      return :no_remote unless remote?
      return :ok        unless remote_oid
      return :ok        if remote_oid == current_oid
Severity: Minor
Found in lib/gitdocs/repository.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

Perceived complexity for after_teardown is too high. [8/7]
Open

  def after_teardown
    restore_env
    processes.clear

    if File.exist?(PID_FILE)
Severity: Minor
Found in test/integration/test_helper.rb by rubocop

This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

Example:

def my_method                   # 1
  if cond                       # 1
    case var                    # 2 (0.8 + 4 * 0.2, rounded)
    when 1 then func_one
    when 2 then func_two
    when 3 then func_three
    when 4..10 then func_other
    end
  else                          # 1
    do_something until a && b   # 2
  end                           # ===
end                             # 7 complexity points

Cyclomatic complexity for for_merge is too high. [7/6]
Open

    def for_merge(result)
      return if result.nil?
      return if result == :no_remote
      return if result == :ok
      return if result == {}
Severity: Minor
Found in lib/gitdocs/git_notifier.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

Cyclomatic complexity for push is too high. [7/6]
Open

    def push
      return            unless valid?
      return :no_remote unless remote?
      return :nothing   unless current_oid
      return :nothing   if remote_oid == current_oid
Severity: Minor
Found in lib/gitdocs/repository.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

Perceived complexity for for_merge is too high. [8/7]
Open

    def for_merge(result)
      return if result.nil?
      return if result == :no_remote
      return if result == :ok
      return if result == {}
Severity: Minor
Found in lib/gitdocs/git_notifier.rb by rubocop

This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

Example:

def my_method                   # 1
  if cond                       # 1
    case var                    # 2 (0.8 + 4 * 0.2, rounded)
    when 1 then func_one
    when 2 then func_two
    when 3 then func_three
    when 4..10 then func_other
    end
  else                          # 1
    do_something until a && b   # 2
  end                           # ===
end                             # 7 complexity points

Method start has 44 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    def start
      Celluloid.boot unless Celluloid.running?
      @supervisor = Celluloid::SupervisionGroup.run!

      # Start the web server ###################################################
Severity: Minor
Found in lib/gitdocs/celluloid_facade.rb - About 1 hr to fix

    Method push has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
    Open

        def push
          return            unless valid?
          return :no_remote unless remote?
          return :nothing   unless current_oid
          return :nothing   if remote_oid == current_oid
    Severity: Minor
    Found in lib/gitdocs/repository.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

    Block has too many lines. [41/25]
    Open

        describe 'exit' do
          before do
            celluloid_fascade.expects(:start)
            manager.expects(:sleep).raises(expected_exception)
          end
    Severity: Minor
    Found in test/unit/manager_test.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [40/25]
    Open

      describe '#meta' do
        subject { path.meta }
        before do
          repository.stubs(:last_commit_for).with(relative_path).returns(commit)
        end
    Severity: Minor
    Found in test/unit/repository_path_test.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [40/25]
    Open

      describe '#dirty?' do
        subject { repository.dirty? }
    
        describe 'when invalid' do
          let(:path_or_share) { 'tmp/unit/missing' }
    Severity: Minor
    Found in test/unit/repository_test.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [39/25]
    Open

            describe 'directory' do
              before do
                repository_path.stubs(
                  directory?:   directory,
                  readme_path:  :readme_path,
    Severity: Minor
    Found in test/unit/browser_app_test.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [39/25]
    Open

      describe '#search' do
        subject { Gitdocs::Search.new([repository1, repository2]).search(term) }
    
        let(:repository1) { mock }
        let(:repository2) { mock }
    Severity: Minor
    Found in test/unit/search_test.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [38/25]
    Open

      describe '.for_push' do
        subject { git_notifier.for_push(result) }
    
        describe 'with no changes' do
          before do
    Severity: Minor
    Found in test/unit/git_notifier_test.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Severity
    Category
    Status
    Source
    Language