summaryrefslogtreecommitdiff
path: root/app/models/note.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-08-04 19:35:47 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-08-04 19:35:47 +0300
commit8f05fbbab5754b2a05547bae7ed3f9c409d8a640 (patch)
tree5c07fb3e4ee0cf462b4a03cd329e2b6b213d12bb /app/models/note.rb
parent2d75b454ef87a87bff942dc31837687919113468 (diff)
downloadgitlab-ce-8f05fbbab5754b2a05547bae7ed3f9c409d8a640.tar.gz
Dont show comment on diff if diff line was changed after comment left
Diffstat (limited to 'app/models/note.rb')
-rw-r--r--app/models/note.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/note.rb b/app/models/note.rb
index b0875a0761b..8714db2e10e 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -99,10 +99,21 @@ class Note < ActiveRecord::Base
diff.new_path if diff
end
+ def diff_old_line
+ line_code.split('_')[1].to_i
+ end
+
def diff_new_line
line_code.split('_')[2].to_i
end
+ def diff_line
+ if diff
+ @diff_line ||= diff.diff.lines.select { |line| line =~ /\A\+/ }[diff_new_line] ||
+ diff.diff.lines.select { |line| line =~ /\A\-/ }[diff_old_line]
+ end
+ end
+
def discussion_id
@discussion_id ||= [:discussion, noteable_type.try(:underscore), noteable_id || commit_id, line_code].join("-").to_sym
end