Class: Outbox::Clients::MailClient

Inherits:
Base
  • Object
show all
Defined in:
lib/outbox/clients/mail_client.rb

Instance Attribute Summary

Attributes inherited from Base

#settings

Instance Method Summary collapse

Methods inherited from Base

defaults, #initialize

Constructor Details

This class inherits a constructor from Outbox::Clients::Base

Instance Method Details

#deliver(email) ⇒ Object



27
28
29
30
31
# File 'lib/outbox/clients/mail_client.rb', line 27

def deliver(email)
  message = create_message_from_email(email)
  message.delivery_method(delivery_method, delivery_method_settings)
  message.deliver
end

#delivery_methodObject

Returns the configured delivery method.



7
8
9
# File 'lib/outbox/clients/mail_client.rb', line 7

def delivery_method
  settings[:delivery_method]
end

#delivery_method_settingsObject

Returns the configured delivery method settings. This will also check the Rails-style ##delivery_method_settings key as well.

client = Outbox::Clients::MailClient.new delivery_method: :sendmail, delivery_method_settings: {
  location: '/usr/bin/sendmail'
}
client.delivery_method_settings #=> { location: '/usr/bin/sendmail' }

client = Outbox::Clients::MailClient.new delivery_method: :sendmail, sendmail_settings: {
  location: '/usr/bin/sendmail'
}
client.delivery_method_settings #=> { location: '/usr/bin/sendmail' }


23
24
25
# File 'lib/outbox/clients/mail_client.rb', line 23

def delivery_method_settings
  settings[:delivery_method_settings] || settings[:"#{delivery_method}_settings"] || {}
end