Fix contributors api

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
Dmitriy Zaporozhets 2014-09-30 11:56:48 +03:00
parent 57c0d9ec46
commit e145f46a93
No known key found for this signature in database
GPG Key ID: 161B5D6A44D3D88A
2 changed files with 6 additions and 8 deletions

View File

@ -250,20 +250,18 @@ class Repository
end
def contributors
log = graph_log.group_by { |i| i[:author_email] }
commits = self.commits(nil, nil, 2000, 0, true)
log.map do |email, contributions|
commits.group_by(&:author_email).map do |email, commits|
contributor = Gitlab::Contributor.new
contributor.email = email
contributions.each do |contribution|
commits.each do |commit|
if contributor.name.blank?
contributor.name = contribution[:author_name]
contributor.name = commit.author_name
end
contributor.commits += 1
contributor.additions += contribution[:additions] || 0
contributor.deletions += contribution[:deletions] || 0
end
contributor

View File

@ -224,8 +224,8 @@ describe API::API, api: true do
contributor['email'].should == 'dmitriy.zaporozhets@gmail.com'
contributor['name'].should == 'Dmitriy Zaporozhets'
contributor['commits'].should == 13
contributor['additions'].should == 4081
contributor['deletions'].should == 29
contributor['additions'].should == 0
contributor['deletions'].should == 0
end
end
end