Class: Tropo::Message

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tropo_session = {}) ⇒ Message

Returns a new instance of Message.



6
7
8
9
# File 'lib/tropo_message.rb', line 6

def initialize(tropo_session = {})
  @params = {}
  @tropo_session = tropo_session
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



4
5
6
# File 'lib/tropo_message.rb', line 4

def params
  @params
end

#tropo_sessionObject

Returns the value of attribute tropo_session.



4
5
6
# File 'lib/tropo_message.rb', line 4

def tropo_session
  @tropo_session
end

Instance Method Details

#answer_on_mediaObject



61
62
63
# File 'lib/tropo_message.rb', line 61

def answer_on_media
  params["answer_on_media"] || tropo_parameters["answer_on_media"]
end

#channelObject



31
32
33
# File 'lib/tropo_message.rb', line 31

def channel
  params["channel"] || tropo_parameters["channel"] || 'TEXT'
end

#fromObject



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

def from
  params["from"] || tropo_parameters["from"]
end

#from=(value) ⇒ Object



53
54
55
# File 'lib/tropo_message.rb', line 53

def from=(value)
  params["from"] = value
end

#headersObject



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

def headers
  params["headers"] || tropo_parameters["headers"]
end

#networkObject



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

def network
  params["network"] || tropo_parameters["network"] || 'SMS'
end

#outgoing?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/tropo_message.rb', line 73

def outgoing?
  tropo_session["session"] && tropo_session["session"]["parameters"]
end

#parse(tropo_session) ⇒ Object



11
12
13
# File 'lib/tropo_message.rb', line 11

def parse(tropo_session)
  self.tropo_session = tropo_session
end

#recordingObject



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

def recording
  params["recording"] || tropo_parameters["recording"]
end

#request_xmlObject



91
92
93
94
95
96
97
98
99
# File 'lib/tropo_message.rb', line 91

def request_xml
  request_params = @params.dup
  token = request_params.delete("token")
  xml = ""
  request_params.each do |key, value|
    xml << "<var name=\"#{key}\" value=\"#{value}\"/>"
  end
  "<sessions><token>#{token}</token>#{xml.to_s}</sessions>"
end

#response_paramsObject



77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/tropo_message.rb', line 77

def response_params
  params = {
    "to" => to,
    "channel" => channel,
    "network" => network
  }
  params.merge!("from" => from) if from
  params.merge!("timeout" => timeout) if timeout
  params.merge!("answer_on_media" => answer_on_media) if answer_on_media
  params.merge!("headers" => headers) if headers
  params.merge!("recording" => recording) if recording
  params
end

#textObject Also known as: msg



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

def text
  params["text"] || tropo_parameters["msg"]
end

#text=(value) ⇒ Object Also known as: msg=



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

def text=(value)
  params["text"] = value
end

#timeoutObject



57
58
59
# File 'lib/tropo_message.rb', line 57

def timeout
  params["timeout"] || tropo_parameters["timeout"]
end

#toObject



23
24
25
# File 'lib/tropo_message.rb', line 23

def to
  params["to"] || tropo_parameters["to"]
end

#to=(value) ⇒ Object



27
28
29
# File 'lib/tropo_message.rb', line 27

def to=(value)
  params["to"] = value
end

#tokenObject



15
16
17
# File 'lib/tropo_message.rb', line 15

def token
  params["token"] || tropo_parameters["token"]
end

#token=(value) ⇒ Object



19
20
21
# File 'lib/tropo_message.rb', line 19

def token=(value)
  params["token"] = value
end