aboutsummaryrefslogblamecommitdiffstats
path: root/lib/action_mailroom/router.rb
blob: bf0001f1ae762f012cb5488f97ad517a4866b6a1 (plain) (tree)
1
2
3
4
5
6
7
                            





                          









                                                        
                                                                                 

       
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