aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_mailroom/router.rb
blob: bf0001f1ae762f012cb5488f97ad517a4866b6a1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class ActionMailroom::Router
  def initialize
    @routes = {}
  end

  def add_routes(routes)
    @routes.merge!(routes)
  end

  def route(inbound_email)
    locate_mailbox(inbound_email).receive(inbound_email)
  end

  private
    attr_reader :routes

    def locate_mailbox(inbound_email)
      "#{routes[inbound_email.mail.to.first].to_s.capitalize}Mailbox".constantize
    end
end