Class: Jobshop::Mailman

Inherits:
ApplicationRecord show all
Defined in:
app/models/jobshop/mailman.rb

Class Method Summary collapse

Class Method Details

.handler_for(message) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/models/jobshop/mailman.rb', line 14

def handler_for(message)
  to = Mail::Address.new(message.to.first)

  mailbox = to.local.split("+").first
  address = "#{mailbox}@#{to.domain}"
  mailman = find_by(address: address)

  klass = if mailman
    mailman.handler_type.constantize
  else
    Mailroom::NullHandler
  end

  klass.new(message, mailman)
end