class FlowmailerRails::MailConverter

Attributes

rails_mail[R]

Public Class Methods

new(rails_mail) click to toggle source
# File lib/flowmailer_rails/mail_converter.rb, line 7
def initialize(rails_mail)
  @rails_mail = rails_mail
end

Public Instance Methods

recipients_as_json() click to toggle source
# File lib/flowmailer_rails/mail_converter.rb, line 11
def recipients_as_json
  recipient_addresses.map do |recipient|
    JSON.dump(as_json.merge(recipientAddress: recipient))
  end
end

Private Instance Methods

as_json() click to toggle source
# File lib/flowmailer_rails/mail_converter.rb, line 19
def as_json
  @json ||= {
    messageType: "EMAIL",
    mimedata: mimedata,
    senderAddress: sender_address,
    tags: rails_mail.tags
  }
end
mimedata() click to toggle source
# File lib/flowmailer_rails/mail_converter.rb, line 28
def mimedata
  Base64.encode64(rails_mail.to_s)
end
recipient_addresses() click to toggle source
# File lib/flowmailer_rails/mail_converter.rb, line 38
def recipient_addresses
  (rails_mail.to_addrs | rails_mail.cc_addrs | rails_mail.bcc_addrs).map do |address|
    Mail::Address.new(address).address
  end
end
sender_address() click to toggle source
# File lib/flowmailer_rails/mail_converter.rb, line 32
def sender_address
  Mail::Address.new(
    rails_mail.from_addrs.first
  ).address
end