Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-05-21 23:38:33 +0300
committerDouwe Maan <douwe@selenight.nl>2017-05-24 00:27:30 +0300
commitab91f76e8b275d0fc1d78b38b95d4b2cd8e73bdb (patch)
treee22910b5a3fc8dee98c5d674ee030b46421a4727 /app/models/note.rb
parent52527be4387cb978402a330f2e4de96e586a62db (diff)
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