summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/contexts/commit_load_context.rb1
-rw-r--r--app/controllers/commits_controller.rb1
-rw-r--r--app/models/commit.rb8
-rw-r--r--lib/gitlab/git/commit.rb4
-rw-r--r--spec/helpers/gitlab_markdown_helper_spec.rb2
5 files changed, 13 insertions, 3 deletions
diff --git a/app/contexts/commit_load_context.rb b/app/contexts/commit_load_context.rb
index 1f23f633af3..c8d77d9b5f3 100644
--- a/app/contexts/commit_load_context.rb
+++ b/app/contexts/commit_load_context.rb
@@ -12,6 +12,7 @@ class CommitLoadContext < BaseContext
commit = project.repository.commit(params[:id])
if commit
+ commit = Commit.new(commit)
commit = CommitDecorator.decorate(commit)
line_notes = project.notes.for_commit_id(commit.id).inline
diff --git a/app/controllers/commits_controller.rb b/app/controllers/commits_controller.rb
index 9dc0d96883e..fded5f0ab86 100644
--- a/app/controllers/commits_controller.rb
+++ b/app/controllers/commits_controller.rb
@@ -13,6 +13,7 @@ class CommitsController < ProjectResourceController
@limit, @offset = (params[:limit] || 40), (params[:offset] || 0)
@commits = @repo.commits(@ref, @path, @limit, @offset)
+ @commits = Commit.decorate(@commits)
@commits = CommitDecorator.decorate_collection(@commits)
respond_to do |format|
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 0164ae663be..ea5b451b28f 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -10,12 +10,20 @@ class Commit
attr_accessor :raw
+ def self.decorate(commits)
+ commits.map { |c| Commit.new(c) }
+ end
+
def initialize(raw_commit)
raise "Nil as raw commit passed" unless raw_commit
@raw = raw_commit
end
+ def id
+ @raw.id
+ end
+
def method_missing(m, *args, &block)
@raw.send(m, *args, &block)
end
diff --git a/lib/gitlab/git/commit.rb b/lib/gitlab/git/commit.rb
index 86e0dfbbf25..023672f986b 100644
--- a/lib/gitlab/git/commit.rb
+++ b/lib/gitlab/git/commit.rb
@@ -7,8 +7,8 @@ module Gitlab
attr_accessor :raw_commit, :head, :refs
delegate :message, :authored_date, :committed_date, :parents, :sha,
- :date, :committer, :author, :diffs, :tree, :id, :stats,
- :to_patch, to: :raw_commit
+ :date, :committer, :author, :diffs, :tree, :id, :stats, :to_patch,
+ to: :raw_commit
class << self
def find_or_first(repo, commit_id = nil, root_ref)
diff --git a/spec/helpers/gitlab_markdown_helper_spec.rb b/spec/helpers/gitlab_markdown_helper_spec.rb
index b9025026c1b..3abeaeef821 100644
--- a/spec/helpers/gitlab_markdown_helper_spec.rb
+++ b/spec/helpers/gitlab_markdown_helper_spec.rb
@@ -7,7 +7,7 @@ describe GitlabMarkdownHelper do
let!(:project) { create(:project) }
let(:user) { create(:user, username: 'gfm') }
- let(:commit) { CommitDecorator.decorate(project.repository.commit) }
+ let(:commit) { CommitDecorator.decorate(Commit.new(project.repository.commit)) }
let(:issue) { create(:issue, project: project) }
let(:merge_request) { create(:merge_request, project: project) }
let(:snippet) { create(:snippet, project: project) }