class UniOne::Mail

Attributes

attachments[RW]
body[RW]
force_send[RW]
from[RW]
global_metadata[RW]
global_substitutions[RW]
headers[RW]
inline_attachments[RW]
options[RW]
recipients[RW]
reply_to[RW]
skip_unsubscribe[RW]
subject[RW]
template[RW]
track[RW]

Public Class Methods

new() click to toggle source
# File lib/unione/helpers/mail/mail.rb, line 7
def initialize
  @template = {}
  @from = {}
  @track = {}
  @global_substitutions = {}
  @recipients = []
  @attachments = []
  @inline_attachments = []
end

Public Instance Methods

to_json(*) click to toggle source
# File lib/unione/helpers/mail/mail.rb, line 20
def to_json(*)
  {
    message: {
      global_substitutions: self.global_substitutions,
      body: self.body,
      subject: self.subject,
      reply_to: self.reply_to,
      recipients: self.recipients,
      global_metadata: self.global_metadata,
      headers: self.headers,
      attachments: self.attachments,
      inline_attachments: self.inline_attachments,
      options: self.options,
      skip_unsubscribe: self.skip_unsubscribe,
      force_send: self.force_send
    }.merge(self.template)
     .merge(self.from)
     .merge(self.track)
     .delete_if { |_, value| value.to_s.strip == '' || value == [] || value == {}}
  }
end