Spec-Zone.ru › Ruby on Rails 8.1

class ActionMailbox::Router::Route

Родитель:
Object

Инкапсулирует маршрут, который затем можно сопоставить с inbound_email и получить класс почтового ящика, соответствующий этому маршруту. Примеры различных адресов маршрутов и способы их использования см. в документации ActionMailbox::Base.

Атрибуты

address [R]
mailbox_name [R]

Публичные методы класса

new (address, to:) Показать исходный код
# File actionmailbox/lib/action_mailbox/router/route.rb, line 10
def initialize(address, to:)
  @address, @mailbox_name = address, to

  ensure_valid_address
end

Публичные методы экземпляра

mailbox_class () Показать исходный код
# File actionmailbox/lib/action_mailbox/router/route.rb, line 31
def mailbox_class
  "#{mailbox_name.to_s.camelize}Mailbox".constantize
end
match? (inbound_email) Показать исходный код
# 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–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API