class Postal::SendMessage

Public Class Methods

new(client) click to toggle source
# File lib/postal/send_message.rb, line 7
def initialize(client)
  @client = client
  @attributes = {}
end

Public Instance Methods

attach(filename, content_type, data) click to toggle source
# File lib/postal/send_message.rb, line 71
def attach(filename, content_type, data)
  @attributes[:attachments] ||= []
  @attributes[:attachments] << {
    :name => filename,
    :content_type => content_type,
    :data => Base64.encode64(data)
  }
end
bcc(*addresses) click to toggle source
# File lib/postal/send_message.rb, line 41
def bcc(*addresses)
  @attributes[:bcc] ||= []
  @attributes[:bcc] += addresses
end
cc(*addresses) click to toggle source
# File lib/postal/send_message.rb, line 36
def cc(*addresses)
  @attributes[:cc] ||= []
  @attributes[:cc] += addresses
end
from(address) click to toggle source
# File lib/postal/send_message.rb, line 23
def from(address)
  @attributes[:from] = address
end
header(key, value) click to toggle source
# File lib/postal/send_message.rb, line 66
def header(key, value)
  @attributes[:headers] ||= {}
  @attributes[:headers][key.to_s] = value
end
html_body(content) click to toggle source
# File lib/postal/send_message.rb, line 62
def html_body(content)
  @attributes[:html_body] = content
end
plain_body(content) click to toggle source
# File lib/postal/send_message.rb, line 58
def plain_body(content)
  @attributes[:plain_body] = content
end
reply_to(reply_to) click to toggle source
# File lib/postal/send_message.rb, line 54
def reply_to(reply_to)
  @attributes[:reply_to] = subject
end
send!() click to toggle source
# File lib/postal/send_message.rb, line 12
def send!
  api = @client.moonrope.request(:send, :message, @attributes)
  if api.success?
    SendResult.new(@client, api.data)
  elsif api.status == 'error'
    raise SendError.new(api.data['code'], api.data['message'])
  else
    raise Error, "Couldn't send message"
  end
end
sender(address) click to toggle source
# File lib/postal/send_message.rb, line 27
def sender(address)
  @attributes[:sender] = address
end
subject(subject) click to toggle source
# File lib/postal/send_message.rb, line 46
def subject(subject)
  @attributes[:subject] = subject
end
tag(tag) click to toggle source
# File lib/postal/send_message.rb, line 50
def tag(tag)
  @attributes[:tag] = subject
end
to(*addresses) click to toggle source
# File lib/postal/send_message.rb, line 31
def to(*addresses)
  @attributes[:to] ||= []
  @attributes[:to] += addresses
end