From 863d8e5ae55debc08bf095354aee0a63417624fc Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Mon, 23 May 2016 22:16:40 +0800 Subject: use split and try to unify error raising --- lib/gitlab/email/handler/create_issue_handler.rb | 18 +++++++++--------- lib/gitlab/email/handler/create_note_handler.rb | 2 +- lib/gitlab/email/receiver.rb | 2 -- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/gitlab/email/handler/create_issue_handler.rb b/lib/gitlab/email/handler/create_issue_handler.rb index cba8f2b61f6..7e3506bbd3f 100644 --- a/lib/gitlab/email/handler/create_issue_handler.rb +++ b/lib/gitlab/email/handler/create_issue_handler.rb @@ -5,8 +5,16 @@ module Gitlab module Email module Handler class CreateIssueHandler < BaseHandler + attr_reader :project_namespace, :authentication_token + + def initialize(mail, mail_key) + super(mail, mail_key) + @project_namespace, @authentication_token = + mail_key && mail_key.split('+', 2) + end + def can_handle? - !!project + !!(project_namespace && project) end def execute @@ -28,14 +36,6 @@ module Gitlab end private - def authentication_token - mail_key[/[^\+]+$/] - end - - def project_namespace - mail_key[/^[^\+]+/] - end - def create_issue Issues::CreateService.new( project, diff --git a/lib/gitlab/email/handler/create_note_handler.rb b/lib/gitlab/email/handler/create_note_handler.rb index 282f1844097..b91dd623161 100644 --- a/lib/gitlab/email/handler/create_note_handler.rb +++ b/lib/gitlab/email/handler/create_note_handler.rb @@ -6,7 +6,7 @@ module Gitlab module Handler class CreateNoteHandler < BaseHandler def can_handle? - !!sent_notification + !!(mail_key && sent_notification) end def execute diff --git a/lib/gitlab/email/receiver.rb b/lib/gitlab/email/receiver.rb index 7038346192b..a497d09b0a8 100644 --- a/lib/gitlab/email/receiver.rb +++ b/lib/gitlab/email/receiver.rb @@ -28,8 +28,6 @@ module Gitlab mail = build_mail mail_key = extract_mail_key(mail) - raise SentNotificationNotFoundError unless mail_key - if handler = Handler.for(mail, mail_key) handler.execute elsif mail_key =~ %r{/|\+} -- cgit v1.2.1