Class: Submail::MessageXSend

Inherits:
Object
  • Object
show all
Includes:
Helper
Defined in:
lib/submail/message_x_send.rb

Instance Method Summary collapse

Methods included from Helper

#create_signatrue, #get_timestamp, #http_get, #http_post, #http_request

Constructor Details

#initialize(config = Submail::configuration.message_json) ⇒ MessageXSend

Returns a new instance of MessageXSend.



5
6
7
8
9
10
11
# File 'lib/submail/message_x_send.rb', line 5

def initialize(config = Submail::configuration.message_json)
  @to = []
  @addressbook = []
  @project = ""
  @vars ={}
  @config = config
end

Instance Method Details

#add_addressbook(addressbook) ⇒ Object



17
18
19
# File 'lib/submail/message_x_send.rb', line 17

def add_addressbook(addressbook)
  @addressbook << addressbook
end

#add_to(address) ⇒ Object



13
14
15
# File 'lib/submail/message_x_send.rb', line 13

def add_to(address)
  @to << address
end

#add_var(key, value) ⇒ Object



25
26
27
# File 'lib/submail/message_x_send.rb', line 25

def add_var(key, value)
  @vars[key] = value
end

#add_vars(vars) ⇒ Object



29
30
31
# File 'lib/submail/message_x_send.rb', line 29

def add_vars(vars)
  @vars.merge(vars)
end

#build_requestObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/submail/message_x_send.rb', line 33

def build_request
  request = {}
  if @to.length != 0
    request["to"] = @to.join(",")
  end
  if @addressbook.length != 0
    request["addressbook"] = @addressbook.join(",")
  end
  if @project != ""
    request["project"] = @project
  end
  if @vars.length != 0
    request["vars"] = JSON.generate @vars
  end
  request
end

#message_xsendObject



50
51
52
53
54
55
56
57
# File 'lib/submail/message_x_send.rb', line 50

def message_xsend
  request = self.build_request
  url = "https://api.submail.cn/message/xsend.json"
  request["appid"] = @config["appid"]
  request["timestamp"] = get_timestamp
  request["signature"] = create_signatrue(request, @config)
  JSON.parse http_post(url, request)
end

#set_project(project) ⇒ Object



21
22
23
# File 'lib/submail/message_x_send.rb', line 21

def set_project(project)
  @project = project
end