класс ActionMailbox::Router::Route
Инкапсулирует маршрут, который затем может быть сопоставлен с inbound_email и предоставить поиск соответствующего класса почтового ящика. См. примеры для различных адресов маршрутов и способы их использования в документации ActionMailbox::Base.
Атрибуты
address[R]
mailbox_name[R]
Общедоступные методы класса
# File actionmailbox/lib/action_mailbox/router/route.rb, line 10 def initialize(address, to:) @address, @mailbox_name = address, to ensure_valid_address end
Общедоступные методы экземпляра
# File actionmailbox/lib/action_mailbox/router/route.rb, line 31
def mailbox_class
"#{mailbox_name.to_s.camelize}Mailbox".constantize
end # 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
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.