class Urbanairship::Devices::EmailNotification
Attributes
bcc[RW]
bypass_opt_in_level[RW]
click_tracking[RW]
html_body[RW]
message_type[RW]
open_tracking[RW]
plaintext_body[RW]
reply_to[RW]
sender_address[RW]
sender_name[RW]
subject[RW]
template_id[RW]
variable_details[RW]
Public Class Methods
new(client: required('client'))
click to toggle source
# File lib/urbanairship/devices/email_notification.rb, line 23 def initialize(client: required('client')) @client = client end
Public Instance Methods
define_fields()
click to toggle source
# File lib/urbanairship/devices/email_notification.rb, line 81 def define_fields if subject && plaintext_body { subject: subject, plaintext_body: plaintext_body } end end
define_template_object()
click to toggle source
# File lib/urbanairship/devices/email_notification.rb, line 72 def define_template_object fail ArgumentError, 'Must choose between template_id or fields object' if template_id && plaintext_body && subject template_portion = { template_id: template_id, fields: define_fields, variable_details: variable_details }.delete_if {|key, value| value.nil?} end
email_override()
click to toggle source
# File lib/urbanairship/devices/email_notification.rb, line 27 def email_override fail ArgumentError, 'message_type is needed for email override' if @message_type.nil? fail ArgumentError, 'plaintext_body is needed for email override' if @plaintext_body.nil? fail ArgumentError, 'reply_to is needed for email override' if @reply_to.nil? fail ArgumentError, 'sender_address is needed for email override' if @sender_address.nil? fail ArgumentError, 'sender_name is needed for email override' if @sender_name.nil? fail ArgumentError, 'subject is needed for email override' if @subject.nil? override = { bcc: bcc, bypass_opt_in_level: bypass_opt_in_level, click_tracking: click_tracking, html_body: html_body, message_type: message_type, open_tracking: open_tracking, plaintext_body: plaintext_body, reply_to: reply_to, sender_address: sender_address, sender_name: sender_name, subject: subject }.delete_if {|key, value| value.nil?} #this removes the nil key value pairs {'email': override} end
email_with_inline_template()
click to toggle source
# File lib/urbanairship/devices/email_notification.rb, line 52 def email_with_inline_template fail ArgumentError, 'message_type is needed for email with inline template' if @message_type.nil? fail ArgumentError, 'reply_to is needed for email with inline template' if @reply_to.nil? fail ArgumentError, 'sender_address is needed for email with inline template' if @sender_address.nil? fail ArgumentError, 'sender_name is needed for email with inline template' if @sender_name.nil? inline_template = { bcc: bcc, click_tracking: click_tracking, message_type: message_type, open_tracking: open_tracking, reply_to: reply_to, sender_address: sender_address, sender_name: sender_name, template: define_template_object }.delete_if {|key, value| value.nil?} #this removes the nil key value pairs {'email': inline_template} end