aboutsummaryrefslogblamecommitdiffstats
path: root/actionmailbox/lib/action_mailbox/routing.rb
blob: 6d9ca62d79f951960b08a7bc4dcdd561c4f50102 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                             
                    
                                                         


                                 


                                                                
 
                    
                         
                                 


                              
                                   
         



                                    


       
# frozen_string_literal: true

module ActionMailbox
  # See +ActionMailbox::Base+ for how to specify routing.
  module Routing
    extend ActiveSupport::Concern

    included do
      cattr_accessor :router, default: ActionMailbox::Router.new
    end

    class_methods do
      def routing(routes)
        router.add_routes(routes)
      end

      def route(inbound_email)
        router.route(inbound_email)
      end

      def mailbox_for(inbound_email)
        router.route(inbound_email)
      end
    end
  end
end