diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-07-03 07:28:02 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-07-03 07:28:02 +0000 |
commit | 8031be73fede0718b81c1b9d038be8a7c81a946a (patch) | |
tree | 839e439cbe911df2991d2d772cfcf90ff03f0ef5 /app | |
parent | efc6baf782951ea2150b45f524c103d0904dbdc1 (diff) | |
parent | dacf9f9f863dcb67a3dcb8dcfc4c151b10bca5e3 (diff) | |
download | gitlab-ce-8031be73fede0718b81c1b9d038be8a7c81a946a.tar.gz |
Merge branch 'contributors-api' into 'master'
Contributors api
Fixes #1266
See merge request !934
Diffstat (limited to 'app')
-rw-r--r-- | app/models/repository.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index 22c16abe480..89bf12ce9ef 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -242,4 +242,25 @@ class Repository branches end end + + def contributors + log = graph_log.group_by { |i| i[:author_email] } + + log.map do |email, contributions| + contributor = Gitlab::Contributor.new + contributor.email = email + + contributions.each do |contribution| + if contributor.name.blank? + contributor.name = contribution[:author_name] + end + + contributor.commits += 1 + contributor.additions += contribution[:additions] || 0 + contributor.deletions += contribution[:deletions] || 0 + end + + contributor + end + end end |