class Smtpapi::Header
SendGrid smtpapi header implementation
Attributes
asm_group_id[R]
category[R]
filters[R]
ip_pool[R]
section[R]
send_at[R]
send_each_at[R]
sub[R]
to[R]
unique_args[R]
Public Class Methods
new()
click to toggle source
# File lib/smtpapi.rb, line 13 def initialize @to = [] @sub = {} @section = {} @category = [] @unique_args = {} @filters = {} @send_at = nil @send_each_at = [] @asm_group_id = nil @ip_pool = nil end
Public Instance Methods
add_category(category)
click to toggle source
# File lib/smtpapi.rb, line 72 def add_category(category) @category.push(category) self end
add_filter(filter_name, parameter_name, parameter_value)
click to toggle source
# File lib/smtpapi.rb, line 82 def add_filter(filter_name, parameter_name, parameter_value) @filters[filter_name] = {} if @filters[filter_name].nil? @filters[filter_name]['settings'] = {} if @filters[filter_name]['settings'].nil? @filters[filter_name]['settings'][parameter_name] = parameter_value self end
add_section(key, value)
click to toggle source
# File lib/smtpapi.rb, line 52 def add_section(key, value) @section[key] = value self end
add_substitution(sub, values)
click to toggle source
# File lib/smtpapi.rb, line 42 def add_substitution(sub, values) @sub[sub] = values self end
add_to(address, name = nil)
click to toggle source
# File lib/smtpapi.rb, line 26 def add_to(address, name = nil) if address.is_a?(Array) @to.concat(address) else value = address value = "#{name} <#{address}>" unless name.nil? @to.push(value) end self end
add_unique_arg(key, value)
click to toggle source
# File lib/smtpapi.rb, line 62 def add_unique_arg(key, value) @unique_args[key] = value self end
escape_unicode(str)
click to toggle source
# File lib/smtpapi.rb, line 119 def escape_unicode(str) str.unpack('U*').map do |i| if i > 65_535 "\\u#{format('%04x', ((i - 0x10000) / 0x400 + 0xD800))}" \ "\\u#{format('%04x', ((i - 0x10000) % 0x400 + 0xDC00))}" elsif i > 127 "\\u#{format('%04x', i)}" else i.chr('UTF-8') end end.join end
json_string()
click to toggle source
# File lib/smtpapi.rb, line 114 def json_string escape_unicode(to_array.to_json) end
Also aliased as: to_json
set_asm_group(group_id)
click to toggle source
# File lib/smtpapi.rb, line 104 def set_asm_group(group_id) @asm_group_id = group_id self end
set_categories(categories)
click to toggle source
# File lib/smtpapi.rb, line 77 def set_categories(categories) @category = categories self end
set_filters(filters)
click to toggle source
# File lib/smtpapi.rb, line 89 def set_filters(filters) @filters = filters self end
set_ip_pool(pool_name)
click to toggle source
# File lib/smtpapi.rb, line 109 def set_ip_pool(pool_name) @ip_pool = pool_name self end
set_sections(key_value_pairs)
click to toggle source
# File lib/smtpapi.rb, line 57 def set_sections(key_value_pairs) @section = key_value_pairs self end
set_send_at(send_at)
click to toggle source
# File lib/smtpapi.rb, line 94 def set_send_at(send_at) @send_at = send_at self end
set_send_each_at(send_each_at)
click to toggle source
# File lib/smtpapi.rb, line 99 def set_send_each_at(send_each_at) @send_each_at = send_each_at self end
set_substitutions(key_value_pairs)
click to toggle source
# File lib/smtpapi.rb, line 47 def set_substitutions(key_value_pairs) @sub = key_value_pairs self end
set_tos(addresses)
click to toggle source
# File lib/smtpapi.rb, line 37 def set_tos(addresses) @to = addresses self end
set_unique_args(key_value_pairs)
click to toggle source
# File lib/smtpapi.rb, line 67 def set_unique_args(key_value_pairs) @unique_args = key_value_pairs self end
Protected Instance Methods
to_array()
click to toggle source
# File lib/smtpapi.rb, line 134 def to_array data = {} data['to'] = @to unless @to.empty? data['sub'] = @sub unless @sub.empty? data['section'] = @section unless @section.empty? data['unique_args'] = @unique_args unless @unique_args.empty? data['category'] = @category unless @category.empty? data['filters'] = @filters unless @filters.empty? data['send_at'] = @send_at.to_i unless @send_at.nil? data['asm_group_id'] = @asm_group_id.to_i unless @asm_group_id.nil? data['ip_pool'] = @ip_pool unless @ip_pool.nil? str_each_at = [] @send_each_at.each do |val| str_each_at.push(val.to_i) end data['send_each_at'] = str_each_at unless str_each_at.empty? data end