Extract EE-specific lines from Gitlab::Email::Handler

This commit is contained in:
Sean McGivern 2018-08-23 10:04:41 +01:00
parent a3382bab11
commit 74616ece28
2 changed files with 14 additions and 8 deletions

View File

@ -6,15 +6,21 @@ require 'gitlab/email/handler/unsubscribe_handler'
module Gitlab module Gitlab
module Email module Email
module Handler module Handler
HANDLERS = [ def self.handlers
UnsubscribeHandler, @handlers ||= load_handlers
CreateNoteHandler, end
CreateMergeRequestHandler,
CreateIssueHandler def self.load_handlers
].freeze [
UnsubscribeHandler,
CreateNoteHandler,
CreateMergeRequestHandler,
CreateIssueHandler
]
end
def self.for(mail, mail_key) def self.for(mail, mail_key)
HANDLERS.find do |klass| handlers.find do |klass|
handler = klass.new(mail, mail_key) handler = klass.new(mail, mail_key)
break handler if handler.can_handle? break handler if handler.can_handle?
end end

View File

@ -40,7 +40,7 @@ describe Gitlab::Email::Handler do
end end
def ce_handlers def ce_handlers
@ce_handlers ||= Gitlab::Email::Handler::HANDLERS.reject do |handler| @ce_handlers ||= Gitlab::Email::Handler.handlers.reject do |handler|
handler.name.start_with?('Gitlab::Email::Handler::EE::') handler.name.start_with?('Gitlab::Email::Handler::EE::')
end end
end end