aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailbox/lib/action_mailbox/routing.rb
blob: 6d9ca62d79f951960b08a7bc4dcdd561c4f50102 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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