Class: Courrier::Email::Provider
- Inherits:
-
Object
- Object
- Courrier::Email::Provider
- Defined in:
- lib/courrier/email/provider.rb
Constant Summary collapse
- PROVIDERS =
{ inbox: Courrier::Email::Providers::Inbox, logger: Courrier::Email::Providers::Logger, loops: Courrier::Email::Providers::Loops, mailgun: Courrier::Email::Providers::Mailgun, mailjet: Courrier::Email::Providers::Mailjet, mailpace: Courrier::Email::Providers::Mailpace, postmark: Courrier::Email::Providers::Postmark, resend: Courrier::Email::Providers::Resend, sendgrid: Courrier::Email::Providers::Sendgrid, sparkpost: Courrier::Email::Providers::Sparkpost, userlist: Courrier::Email::Providers::Userlist }
Instance Method Summary collapse
- #deliver ⇒ Object
-
#initialize(provider: nil, api_key: nil, options: {}, provider_options: {}, context_options: {}, custom_headers: {}) ⇒ Provider
constructor
A new instance of Provider.
Constructor Details
#initialize(provider: nil, api_key: nil, options: {}, provider_options: {}, context_options: {}, custom_headers: {}) ⇒ Provider
Returns a new instance of Provider.
33 34 35 36 37 38 39 40 41 |
# File 'lib/courrier/email/provider.rb', line 33 def initialize(provider: nil, api_key: nil, options: {}, provider_options: {}, context_options: {}, custom_headers: {}) @provider = provider @api_key = api_key @options = @provider_options = @context_options = @custom_headers = custom_headers end |
Instance Method Details
#deliver ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/courrier/email/provider.rb', line 43 def deliver raise Courrier::ConfigurationError, "Unknown provider. Choose one of `#{comma_separated_providers}` or provide your own." if provider_invalid? raise Courrier::ConfigurationError, "API key must be configured for #{@provider} provider in production environment" if configuration_missing_in_production? provider_class.new( api_key: @api_key, options: @options, provider_options: @provider_options, context_options: @context_options, custom_headers: @custom_headers ).deliver end |