Class: Metaforce::DeliveryMethod

Inherits:
Object
  • Object
show all
Defined in:
lib/metaforce/delivery_method.rb,
lib/metaforce/delivery_method/version.rb

Defined Under Namespace

Classes: Railtie

Constant Summary collapse

VERSION =
'0.0.5'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ DeliveryMethod

Returns a new instance of DeliveryMethod.



9
10
11
12
# File 'lib/metaforce/delivery_method.rb', line 9

def initialize(options = {})
  self.settings = options
  self.client   = settings.fetch(:client)
end

Instance Attribute Details

#clientObject

Returns the value of attribute client.



7
8
9
# File 'lib/metaforce/delivery_method.rb', line 7

def client
  @client
end

#settingsObject

Returns the value of attribute settings.



7
8
9
# File 'lib/metaforce/delivery_method.rb', line 7

def settings
  @settings
end

Instance Method Details

#deliver!(mail) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/metaforce/delivery_method.rb', line 14

def deliver!(mail)
  options = {
    to_addresses:  Array(mail.to),
    cc_addresses:  Array(mail.cc),
    bcc_addresses: Array(mail.bcc),
    reply_to:      mail.reply_to,
    subject:       mail.subject,
  }
  if mail.multipart?
    options.merge!(plain_text_body: mail.text_part.to_s, html_body: mail.html_part.to_s)
  else
    options.merge!(plain_text_body: mail.body.to_s)
  end
  client.send_email options
end