Class: SocketLabs::InjectionApi::Message::BasicMessage

Inherits:
MessageBase
  • Object
show all
Defined in:
lib/socketlabs/injectionapi/message/basic_message.rb

Instance Attribute Summary

Attributes inherited from MessageBase

#api_template, #charset, #html_body, #mailing_id, #message_id, #plain_text_body, #subject

Instance Method Summary collapse

Methods inherited from MessageBase

#add_attachment, #add_custom_header, #attachments, #attachments=, #custom_headers, #custom_headers=, #from_email_address, #from_email_address=, #reply_to_email_address, #reply_to_email_address=

Constructor Details

#initialize(arguments = nil) ⇒ BasicMessage

Returns a new instance of BasicMessage.



9
10
11
12
13
14
15
16
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 9

def initialize(arguments = nil)
  super

  @to_email_address = Array.new
  @cc_email_address = Array.new
  @bcc_email_address = Array.new

end

Instance Method Details

#add_bcc_email_address(email_address, friendly_name = nil) ⇒ Object

Add an EmailAddress to the CC recipient list.

Parameters:

  • email_address (String)
  • friendly_name (String) (defaults to: nil)


62
63
64
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 62

def add_bcc_email_address(email_address, friendly_name = nil)
  convert_email_address(@bcc_email_address, email_address, friendly_name)
end

#add_cc_email_address(email_address, friendly_name = nil) ⇒ Object

Add an EmailAddress to the CC recipient list.

Parameters:

  • email_address (String)
  • friendly_name (String) (defaults to: nil)


46
47
48
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 46

def add_cc_email_address(email_address, friendly_name = nil)
  convert_email_address(@cc_email_address, email_address, friendly_name)
end

#add_to_email_address(email_address, friendly_name = nil) ⇒ Object

Add an EmailAddress to the To recipient list.

Parameters:

  • email_address (String)
  • friendly_name (String) (defaults to: nil)


30
31
32
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 30

def add_to_email_address(email_address, friendly_name = nil)
  convert_email_address(@to_email_address, email_address, friendly_name)
end

#bcc_email_addressObject

Get the CC EmailAddress list



51
52
53
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 51

def bcc_email_address
  @bcc_email_address
end

#bcc_email_address=(value) ⇒ Object

Set the CC EmailAddress list



55
56
57
58
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 55

def bcc_email_address=(value)
  @bcc_email_address = Array.new
  convert_email_address(@bcc_email_address, value)
end

#cc_email_addressObject

Get the CC EmailAddress list



35
36
37
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 35

def cc_email_address
  @cc_email_address
end

#cc_email_address=(value) ⇒ Object

Set the CC EmailAddress list



39
40
41
42
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 39

def cc_email_address=(value)
  @cc_email_address = Array.new
  convert_email_address(@cc_email_address, value)
end

#to_email_addressObject

Get the To EmailAddress list



19
20
21
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 19

def to_email_address
  @to_email_address
end

#to_email_address=(value) ⇒ Object

Set the To EmailAddress list



23
24
25
26
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 23

def to_email_address=(value)
  @to_email_address = Array.new
  convert_email_address(@to_email_address, value)
end

#to_jsonObject



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 76

def to_json
  {
      subject: @subject,
      textBody: @plain_text_body,
      htmlBody: @html_body,
      apiTemplate: @api_template,
      mailingId: @mailing_id,
      messageId: @message_id,
      charSet: @charset,
      from: @from_email_address,
      replyTo: @reply_to_email_address,
      attachments: @attachments,
      customHeaders: @custom_headers,
      to: @to_email_address,
      cc: @cc_email_address,
      bcc: @bcc_email_address
  }
end

#to_sObject



67
68
69
70
71
72
73
74
# File 'lib/socketlabs/injectionapi/message/basic_message.rb', line 67

def to_s
  c = @to_email_address.any? ? @to_email_address.count : 0
  c = c + (@cc_email_address.any? ? @cc_email_address.count : 0)
  c = c + (@bcc_email_address.any? ? @bcc_email_address.count : 0)

  "Recipients: #{c}, Subject: '#{@subject}'"

end