diff options
author | Cameron Crockett <cameron@ccrockett.com> | 2018-05-09 23:19:16 +0300 |
---|---|---|
committer | Cameron Crockett <cameron@ccrockett.com> | 2018-05-23 07:05:51 +0300 |
commit | 421dbb1746e7944a578d2dc894ae3975dac94ac8 (patch) | |
tree | b7dc90958be9f94ffe0f57bb56b5a590f21c02d1 /lib/gitlab/email | |
parent | 76e276cb433a7023cf8154f9d9555725b3b11e67 (diff) |
skip email trim when email is creating new issue
Updates from MR discussion
1. Added test for ReplyParser
2. Changed param to trim_reply with default set as true
Removed keyword param in favor of normal options param
updates for MR discussion
Resolutions for code review comments
more code review fixes
Diffstat (limited to 'lib/gitlab/email')
-rw-r--r-- | lib/gitlab/email/handler/create_issue_handler.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/email/handler/reply_processing.rb | 8 | ||||
-rw-r--r-- | lib/gitlab/email/reply_parser.rb | 7 |
3 files changed, 12 insertions, 5 deletions
diff --git a/lib/gitlab/email/handler/create_issue_handler.rb b/lib/gitlab/email/handler/create_issue_handler.rb index 05a60deb7d3..764f93f6d3d 100644 --- a/lib/gitlab/email/handler/create_issue_handler.rb +++ b/lib/gitlab/email/handler/create_issue_handler.rb @@ -47,7 +47,7 @@ module Gitlab project, author, title: mail.subject, - description: message + description: message_including_reply ).execute end end diff --git a/lib/gitlab/email/handler/reply_processing.rb b/lib/gitlab/email/handler/reply_processing.rb index da5ff350549..38b1425364f 100644 --- a/lib/gitlab/email/handler/reply_processing.rb +++ b/lib/gitlab/email/handler/reply_processing.rb @@ -16,8 +16,12 @@ module Gitlab @message ||= process_message end - def process_message - message = ReplyParser.new(mail).execute.strip + def message_including_reply + @message_with_reply ||= process_message(trim_reply: false) + end + + def process_message(**kwargs) + message = ReplyParser.new(mail, **kwargs).execute.strip add_attachments(message) end diff --git a/lib/gitlab/email/reply_parser.rb b/lib/gitlab/email/reply_parser.rb index 01c28d051ee..ae6b84607d6 100644 --- a/lib/gitlab/email/reply_parser.rb +++ b/lib/gitlab/email/reply_parser.rb @@ -4,8 +4,9 @@ module Gitlab class ReplyParser attr_accessor :message - def initialize(message) + def initialize(message, trim_reply: true) @message = message + @trim_reply = trim_reply end def execute @@ -13,7 +14,9 @@ module Gitlab encoding = body.encoding - body = EmailReplyTrimmer.trim(body) + if @trim_reply + body = EmailReplyTrimmer.trim(body) + end return '' unless body |