gitlabhq/gitlabhq

View on GitHub
app/services/system_note_service.rb

Summary

Maintainability
C
7 hrs
Test Coverage

File system_note_service.rb has 286 lines of code (exceeds 250 allowed). Consider refactoring.
Open

module SystemNoteService
  extend self

  # Called when commits are added to a Merge Request
  #
Severity: Minor
Found in app/services/system_note_service.rb - About 2 hrs to fix

    Method add_commits has 6 arguments (exceeds 4 allowed). Consider refactoring.
    Open

      def add_commits(noteable, project, author, new_commits, existing_commits = [], oldrev = nil)
    Severity: Minor
    Found in app/services/system_note_service.rb - About 45 mins to fix

      Method change_branch_presence has 6 arguments (exceeds 4 allowed). Consider refactoring.
      Open

        def change_branch_presence(noteable, project, author, branch_type, branch, presence)
      Severity: Minor
      Found in app/services/system_note_service.rb - About 45 mins to fix

        Method change_branch has 6 arguments (exceeds 4 allowed). Consider refactoring.
        Open

          def change_branch(noteable, project, author, branch_type, old_branch, new_branch)
        Severity: Minor
        Found in app/services/system_note_service.rb - About 45 mins to fix

          Method change_status has 5 arguments (exceeds 4 allowed). Consider refactoring.
          Open

            def change_status(noteable, project, author, status, source = nil)
          Severity: Minor
          Found in app/services/system_note_service.rb - About 35 mins to fix

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

              def diff_discussion_outdated(discussion, project, author, change_position)
                merge_request = discussion.noteable
                diff_refs = change_position.diff_refs
                version_index = merge_request.merge_request_diffs.viewable.count
                position_on_text = change_position.on_text?
            Severity: Minor
            Found in app/services/system_note_service.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 change_time_spent has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
            Open

              def change_time_spent(noteable, project, author)
                time_spent = noteable.time_spent
            
                if time_spent == :reset
                  body = "removed time spent"
            Severity: Minor
            Found in app/services/system_note_service.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 existing_commit_summary has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

              def existing_commit_summary(noteable, existing_commits, oldrev = nil)
                return '' if existing_commits.empty?
            
                count = existing_commits.size
            
            
            Severity: Minor
            Found in app/services/system_note_service.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 cross_reference_disallowed? has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

              def cross_reference_disallowed?(noteable, mentioner)
                return true if noteable.is_a?(ExternalIssue) && !noteable.project.jira_tracker_active?
                return false unless mentioner.is_a?(MergeRequest)
                return false unless noteable.is_a?(Commit)
            
            
            Severity: Minor
            Found in app/services/system_note_service.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