summaryrefslogtreecommitdiff
path: root/app/models/note.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-05-21 15:38:33 -0500
committerDouwe Maan <douwe@selenight.nl>2017-05-23 16:27:30 -0500
commitab91f76e8b275d0fc1d78b38b95d4b2cd8e73bdb (patch)
treee22910b5a3fc8dee98c5d674ee030b46421a4727 /app/models/note.rb
parent52527be4387cb978402a330f2e4de96e586a62db (diff)
downloadgitlab-ce-ab91f76e8b275d0fc1d78b38b95d4b2cd8e73bdb.tar.gz
Add system note with link to diff comparison when MR discussion becomes outdated
Diffstat (limited to 'app/models/note.rb')
-rw-r--r--app/models/note.rb17
1 files changed, 9 insertions, 8 deletions
diff --git a/app/models/note.rb b/app/models/note.rb
index 46d0a4f159f..b4228cc6492 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -121,16 +121,17 @@ class Note < ActiveRecord::Base
end
def grouped_diff_discussions(diff_refs = nil)
- groups = {}
+ groups = Hash.new { |h, k| h[k] = [] }
diff_notes.fresh.discussions.each do |discussion|
- if discussion.active?(diff_refs)
- discussions = groups[discussion.line_code] ||= []
- elsif diff_refs && discussion.created_at_diff?(diff_refs)
- discussions = groups[discussion.original_line_code] ||= []
- end
-
- discussions << discussion if discussions
+ line_code =
+ if discussion.active?(diff_refs)
+ discussion.line_code
+ elsif diff_refs && discussion.created_at_diff?(diff_refs)
+ discussion.original_line_code
+ end
+
+ groups[line_code] << discussion if line_code
end
groups