mentions: include mentioner in subject line.
The template looks like this:
Subject:
#{creator_name} mentioned you in a comment on post ##{post_id}
Body:
@#{creator_name} mentioned you in a \"comment\":/posts/#{post_id}#comment-#{id} on post ##{post_id}:
[quote]
#{DText.excerpt(body, "@"+user_name)}
[/quote]
This commit is contained in:
@@ -381,5 +381,12 @@ class DText
|
||||
})
|
||||
)
|
||||
end
|
||||
|
||||
# extract the first paragraph `needle` occurs in.
|
||||
def self.excerpt(dtext, needle)
|
||||
dtext = dtext.gsub(/\r\n|\r|\n/, "\n")
|
||||
excerpt = ActionController::Base.helpers.excerpt(dtext, needle, separator: "\n\n", radius: 1, omission: "")
|
||||
excerpt
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -39,17 +39,17 @@ module Mentionable
|
||||
end
|
||||
|
||||
def queue_mention_messages
|
||||
title = self.class.mentionable_option(:title)
|
||||
from_id = read_attribute(self.class.mentionable_option(:user_field))
|
||||
text = strip_quote_blocks(read_attribute(self.class.mentionable_option(:message_field)))
|
||||
bodies = {}
|
||||
|
||||
text.scan(DText::MENTION_REGEXP).each do |mention|
|
||||
names = text.scan(DText::MENTION_REGEXP).map do |mention|
|
||||
mention.gsub!(/(?:^\s*@)|(?:[:;,.!?\)\]<>]$)/, "")
|
||||
bodies[mention] = self.class.mentionable_option(:body).call(self, mention)
|
||||
end
|
||||
|
||||
bodies.each do |name, text|
|
||||
names.uniq.each do |name|
|
||||
body = self.instance_exec(name, &self.class.mentionable_option(:body))
|
||||
title = self.instance_exec(name, &self.class.mentionable_option(:title))
|
||||
|
||||
Dmail.create_automated(to_name: name, title: title, body: body)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user