Encapsulates a route, which can then be matched against an inbound_email and provide a lookup of the matching mailbox class. See examples for the different route addresses and how to use them in the ActionMailbox::Base documentation.
Methods
Attributes
| [R] | address | |
| [R] | mailbox_name | 
Class Public methods
new(address, to:)
📝 Source code
# File actionmailbox/lib/action_mailbox/router/route.rb, line 10
    def initialize(address, to:)
      @address, @mailbox_name = address, to
      ensure_valid_address
    end
              
                🔎 See on GitHub
              
            Instance Public methods
mailbox_class()
📝 Source code
# File actionmailbox/lib/action_mailbox/router/route.rb, line 31
    def mailbox_class
      "#{mailbox_name.to_s.camelize}Mailbox".constantize
    end
              
                🔎 See on GitHub
              
            match?(inbound_email)
📝 Source code
# File actionmailbox/lib/action_mailbox/router/route.rb, line 16
    def match?(inbound_email)
      case address
      when :all
        true
      when String
        inbound_email.mail.recipients.any? { |recipient| address.casecmp?(recipient) }
      when Regexp
        inbound_email.mail.recipients.any? { |recipient| address.match?(recipient) }
      when Proc
        address.call(inbound_email)
      else
        address.match?(inbound_email)
      end
    end
              
                🔎 See on GitHub