Class: Smtpapi::Header

Inherits:
Object
  • Object
show all
Defined in:
lib/smtpapi.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ Header

Returns a new instance of Header.



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/smtpapi.rb', line 11

def initialize
  @to = []
  @sub = {}
  @section = {}
  @category = []
  @unique_args = {}
  @filters = {}
  @send_at = nil
  @send_each_at = []
  @asm_group_id = nil
end

Instance Attribute Details

#asm_group_id ⇒ Object (readonly)

Returns the value of attribute asm_group_id.



9
10
11
# File 'lib/smtpapi.rb', line 9

def asm_group_id
  @asm_group_id
end

#category ⇒ Object (readonly)

Returns the value of attribute category.



9
10
11
# File 'lib/smtpapi.rb', line 9

def category
  @category
end

#filters ⇒ Object (readonly)

Returns the value of attribute filters.



9
10
11
# File 'lib/smtpapi.rb', line 9

def filters
  @filters
end

#section ⇒ Object (readonly)

Returns the value of attribute section.



9
10
11
# File 'lib/smtpapi.rb', line 9

def section
  @section
end

#send_at ⇒ Object (readonly)

Returns the value of attribute send_at.



9
10
11
# File 'lib/smtpapi.rb', line 9

def send_at
  @send_at
end

#send_each_at ⇒ Object (readonly)

Returns the value of attribute send_each_at.



9
10
11
# File 'lib/smtpapi.rb', line 9

def send_each_at
  @send_each_at
end

#sub ⇒ Object (readonly)

Returns the value of attribute sub.



9
10
11
# File 'lib/smtpapi.rb', line 9

def sub
  @sub
end

#to ⇒ Object (readonly)

Returns the value of attribute to.



9
10
11
# File 'lib/smtpapi.rb', line 9

def to
  @to
end

#unique_args ⇒ Object (readonly)

Returns the value of attribute unique_args.



9
10
11
# File 'lib/smtpapi.rb', line 9

def unique_args
  @unique_args
end

Instance Method Details

#add_category(category) ⇒ Object



69
70
71
72
# File 'lib/smtpapi.rb', line 69

def add_category(category)
  @category.push(category)
  self
end

#add_filter(filter_name, parameter_name, parameter_value) ⇒ Object



79
80
81
82
83
84
# File 'lib/smtpapi.rb', line 79

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) ⇒ Object



49
50
51
52
# File 'lib/smtpapi.rb', line 49

def add_section(key, value)
  @section[key] = value
  self
end

#add_substitution(sub, values) ⇒ Object



39
40
41
42
# File 'lib/smtpapi.rb', line 39

def add_substitution(sub, values)
  @sub[sub] = values
  self
end

#add_to(address, name = nil) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/smtpapi.rb', line 23

def add_to(address, name=nil)
  if address.is_a?(Array)
    @to.concat(address)
  else
    value = address
    value = "#{name} <#{address}>" if name != nil
    @to.push(value)
  end
  self
end

#add_unique_arg(key, value) ⇒ Object



59
60
61
62
# File 'lib/smtpapi.rb', line 59

def add_unique_arg(key, value)
  @unique_args[key] = value
  self
end

#escape_unicode(str) ⇒ Object



127
128
129
130
131
132
133
134
135
136
137
# File 'lib/smtpapi.rb', line 127

def escape_unicode(str)
  str.unpack('U*').map{|i|
    if i > 65535 then
      "\\u#{((i - 0x10000) / 0x400 + 0xD800).to_s(16)}\\u#{((i - 0x10000) % 0x400 + 0xDC00).to_s(16)}" if i > 65535
    elsif i > 127 then
      "\\u#{i.to_s(16)}"
    else
      i.chr("UTF-8")
    end
  }.join
end

#json_string ⇒ Object Also known as: to_json



122
123
124
# File 'lib/smtpapi.rb', line 122

def json_string
  escape_unicode(self.to_array.to_json)
end

#set_asm_group(group_id) ⇒ Object



99
100
101
# File 'lib/smtpapi.rb', line 99

def set_asm_group(group_id)
  @asm_group_id = group_id
end

#set_categories(categories) ⇒ Object



74
75
76
77
# File 'lib/smtpapi.rb', line 74

def set_categories(categories)
  @category = categories
  self
end

#set_filters(filters) ⇒ Object



86
87
88
89
# File 'lib/smtpapi.rb', line 86

def set_filters(filters)
  @filters = filters
  self
end

#set_sections(key_value_pairs) ⇒ Object



54
55
56
57
# File 'lib/smtpapi.rb', line 54

def set_sections(key_value_pairs)
  @section = key_value_pairs
  self
end

#set_send_at(send_at) ⇒ Object



91
92
93
# File 'lib/smtpapi.rb', line 91

def set_send_at(send_at)
  @send_at = send_at
end

#set_send_each_at(send_each_at) ⇒ Object



95
96
97
# File 'lib/smtpapi.rb', line 95

def set_send_each_at(send_each_at)
  @send_each_at = send_each_at
end

#set_substitutions(key_value_pairs) ⇒ Object



44
45
46
47
# File 'lib/smtpapi.rb', line 44

def set_substitutions(key_value_pairs)
  @sub = key_value_pairs
  self
end

#set_tos(addresses) ⇒ Object



34
35
36
37
# File 'lib/smtpapi.rb', line 34

def set_tos(addresses)
  @to = addresses
  self
end

#set_unique_args(key_value_pairs) ⇒ Object



64
65
66
67
# File 'lib/smtpapi.rb', line 64

def set_unique_args(key_value_pairs)
  @unique_args = key_value_pairs
  self
end