class Customerio::SendEmailRequest

Constants

OPTIONAL_FIELDS
REQUIRED_FIELDS

Attributes

message[R]

Public Class Methods

new(opts) click to toggle source
# File lib/customerio/requests/send_email_request.rb, line 7
def initialize(opts)
  @message = opts.delete_if { |field| invalid_field?(field) }
  @message[:attachments] = {}
  @message[:headers] = {}
end

Public Instance Methods

attach(name, data, encode: true) click to toggle source
# File lib/customerio/requests/send_email_request.rb, line 13
def attach(name, data, encode: true)
  raise "attachment #{name} already exists" if @message[:attachments].has_key?(name)
  @message[:attachments][name] = encode ? Base64.strict_encode64(data) : data
end

Private Instance Methods

encode(data) click to toggle source
# File lib/customerio/requests/send_email_request.rb, line 45
def encode(data)
  Base64.strict_encode64(data)
end
invalid_field?(field) click to toggle source
# File lib/customerio/requests/send_email_request.rb, line 41
def invalid_field?(field)
  !REQUIRED_FIELDS.include?(field) && !OPTIONAL_FIELDS.include?(field)
end