Module: MultiMail::Receiver
- Defined in:
- lib/multi_mail/receiver.rb,
lib/multi_mail/receiver/base.rb,
lib/multi_mail/simple/receiver.rb,
lib/multi_mail/mailgun/receiver.rb,
lib/multi_mail/mandrill/receiver.rb,
lib/multi_mail/postmark/receiver.rb,
lib/multi_mail/sendgrid/receiver.rb,
lib/multi_mail/cloudmailin/receiver.rb
Overview
Endpoint for initializing different incoming email receivers.
Defined Under Namespace
Modules: Base Classes: Cloudmailin, Mailgun, Mandrill, Postmark, SendGrid, Simple
Class Method Summary collapse
-
.new(attributes) ⇒ Object
Initializes an incoming email receiver.
Class Method Details
.new(attributes) ⇒ Object
Initializes an incoming email receiver.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/multi_mail/receiver.rb', line 20 def self.new(attributes) attributes = attributes.dup # prevent delete from having side effects case provider = attributes.delete(:provider).to_s.downcase.to_sym when :cloudmailin require 'multi_mail/cloudmailin/receiver' MultiMail::Receiver::Cloudmailin.new(attributes) when :mailgun require 'multi_mail/mailgun/receiver' MultiMail::Receiver::Mailgun.new(attributes) when :mandrill require 'multi_mail/mandrill/receiver' MultiMail::Receiver::Mandrill.new(attributes) when :postmark require 'multi_mail/postmark/receiver' MultiMail::Receiver::Postmark.new(attributes) when :sendgrid require 'multi_mail/sendgrid/receiver' MultiMail::Receiver::SendGrid.new(attributes) when :simple require 'multi_mail/simple/receiver' MultiMail::Receiver::Simple.new(attributes) else raise ArgumentError.new("#{provider} is not a recognized provider") end end |