diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-04-15 15:56:21 +0200 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-04-15 17:57:31 +0200 |
commit | 959ebbcade63423048320daaa814634c41842a36 (patch) | |
tree | fb2f8392d60cdabe6ed9b0ad47a43909b3866762 /app/models/commit.rb | |
parent | b73ffbd3cb7dd89f54351b74e0cf4d1df63f0310 (diff) | |
download | gitlab-ce-959ebbcade63423048320daaa814634c41842a36.tar.gz |
Clean up code around commit mentions.
Diffstat (limited to 'app/models/commit.rb')
-rw-r--r-- | app/models/commit.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/models/commit.rb b/app/models/commit.rb index 006fa62c8f9..f54696c378c 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -134,6 +134,25 @@ class Commit User.find_for_commit(committer_email, committer_name) end + def participants(project, current_user = nil) + users = [] + users << author + users << committer + mentions = [] + mentions << self.mentioned_users(current_user, project) + + notes(project).each do |note| + users << note.author + mentions << note.mentioned_users(current_user, project) + end + + users.concat(mentions.reduce([], :|)).uniq + end + + def notes(project) + project.notes.for_commit_id(self.id) + end + def method_missing(m, *args, &block) @raw.send(m, *args, &block) end |