class Emarsys::DeliveryMethod::Base

Public Class Methods

new(_options = {}) click to toggle source
# File lib/emarsys/delivery_method/base.rb, line 4
def initialize(_options = {})
end

Public Instance Methods

deliver!(mail) click to toggle source
# File lib/emarsys/delivery_method/base.rb, line 8
def deliver!(mail)
  ::Emarsys::Api::Services.new.email_queue get_customer(mail), build_params(mail)
end

Private Instance Methods

build_params(mail) click to toggle source
# File lib/emarsys/delivery_method/base.rb, line 20
def build_params(mail)
  {
    recipients: mail.to.map { |to| { email: to } },
    from: mail.from.first,
    subject: mail.subject,
    text_body: mail.text_part.decoded,
    html_body: mail.html_part.decoded
  }
end
get_customer(mail) click to toggle source
# File lib/emarsys/delivery_method/base.rb, line 15
def get_customer(mail)
  mail.header['x-ems-customer-id'].to_s
end