Skip to content
Snippets Groups Projects
Commit fc1c250d authored by Riyad Preukschas's avatar Riyad Preukschas
Browse files

Reorder Note methods and add helpers

parent 63dac843
No related branches found
No related tags found
1 merge request!1878Discussions (a.k.a. Grouped Comments)
Loading
Loading
@@ -18,7 +18,6 @@ require 'carrierwave/orm/activerecord'
require 'file_size_validator'
 
class Note < ActiveRecord::Base
attr_accessible :note, :noteable, :noteable_id, :noteable_type, :project_id,
:attachment, :line_code
 
Loading
Loading
@@ -55,12 +54,58 @@ class Note < ActiveRecord::Base
}, without_protection: true)
end
 
def notify
@notify ||= false
def commit_author
@commit_author ||=
project.users.find_by_email(noteable.author_email) ||
project.users.find_by_name(noteable.author_name)
rescue
nil
end
 
def notify_author
@notify_author ||= false
def diff
noteable.diffs[diff_file_index]
end
def diff_file_index
line_code.split('_')[0].to_i
end
def diff_file_name
diff.b_path
end
def diff_new_line
line_code.split('_')[2].to_i
end
def discussion_id
@discussion_id ||= [noteable_type, noteable_id, line_code].join.underscore.to_sym
end
# Returns true if this is a downvote note,
# otherwise false is returned
def downvote?
note.start_with?('-1') || note.start_with?(':-1:')
end
def for_commit?
noteable_type == "Commit"
end
def for_commit_diff_line?
for_commit? && for_diff_line?
end
def for_diff_line?
line_code.present?
end
def for_merge_request?
noteable_type == "MergeRequest"
end
def for_merge_request_diff_line?
for_merge_request? && for_diff_line?
end
 
# override to return commits, which are not active record
Loading
Loading
@@ -76,6 +121,14 @@ class Note < ActiveRecord::Base
nil
end
 
def notify
@notify ||= false
end
def notify_author
@notify_author ||= false
end
# Check if we can notify commit author
# with email about our comment
#
Loading
Loading
@@ -94,31 +147,9 @@ class Note < ActiveRecord::Base
commit_author.email != user.email
end
 
def for_commit?
noteable_type == "Commit"
end
def for_diff_line?
line_code.present?
end
def commit_author
@commit_author ||=
project.users.find_by_email(noteable.author_email) ||
project.users.find_by_name(noteable.author_name)
rescue
nil
end
# Returns true if this is an upvote note,
# otherwise false is returned
def upvote?
note.start_with?('+1') || note.start_with?(':+1:')
end
# Returns true if this is a downvote note,
# otherwise false is returned
def downvote?
note.start_with?('-1') || note.start_with?(':-1:')
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment