Module: MultiMail::Receiver
- Defined in:
- lib/multi_mail/receiver.rb,
lib/multi_mail/receiver/base.rb,
lib/multi_mail/mailgun/receiver.rb,
lib/multi_mail/mandrill/receiver.rb
Overview
Defined Under Namespace
Modules: Base Classes: Mailgun, Mandrill
Class Method Summary collapse
Class Method Details
.new(attributes) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/multi_mail/receiver.rb', line 17 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 :mock # for testing MultiMail::Receiver::Mock.new(attributes) else raise ArgumentError.new("#{provider} is not a recognized provider") end end |