# class CommitLoadContext

### Public Instance Methods

execute() click to toggle source

    # File app/contexts/commit_load_context.rb, line 2
    def execute
      result = {
        commit: nil,
        suppress_diff: false,
        line_notes: [],
        notes_count: 0,
        note: nil,
        status: :ok
      }

      commit = project.commit(params[:id])

      if commit
        commit = CommitDecorator.decorate(commit)
        line_notes = project.commit_line_notes(commit)

        result[:commit] = commit
        result[:note] = project.build_commit_note(commit)
        result[:line_notes] = line_notes
        result[:notes_count] = line_notes.count + project.commit_notes(commit).count

        begin
          result[:suppress_diff] = true if commit.diffs.size > 200 && !params[:force_show_diff]
        rescue Grit::Git::GitTimeout
          result[:suppress_diff] = true
          result[:status] = :huge_commit
        end
      end

      result
    end