Class: SmsTraffic::Client::DeliverReply
- Inherits:
-
Reply
- Object
- Reply
- SmsTraffic::Client::DeliverReply
show all
- Defined in:
- lib/sms_traffic/client/deliver_reply.rb
Constant Summary
collapse
- OK_REPLY =
'OK'.freeze
Instance Attribute Summary
Attributes inherited from Reply
#hash, #xml
Instance Method Summary
collapse
Methods inherited from Reply
#initialize
Instance Method Details
#code ⇒ Object
20
21
22
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 20
def code
fetch_value(hash, :code)
end
|
#description ⇒ Object
24
25
26
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 24
def description
fetch_value(hash, :description)
end
|
#error? ⇒ Boolean
12
13
14
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 12
def error?
!ok?
end
|
#error_description ⇒ Object
53
54
55
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 53
def error_description
"#{result}: code: #{code}, description: #{description}" if error?
end
|
#message_infos ⇒ Object
28
29
30
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 28
def message_infos
fetch_value(hash, :message_infos)
end
|
#ok? ⇒ Boolean
6
7
8
9
10
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 6
def ok?
fetch_value(hash, :result) == OK_REPLY
rescue NoMethodError
false
end
|
#result ⇒ Object
16
17
18
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 16
def result
fetch_value(hash, :result)
end
|
#sms_id(phone = nil) ⇒ Object
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 32
def sms_id(phone = nil)
message_info = fetch_value(message_infos, :message_info)
return fetch_value(message_info, :sms_id) if message_info.is_a?(Hash) || message_info.nil?
if phone
fetch_value(find_message_info(phone), :sms_id)
elsif message_info.is_a?(Array)
fetch_value(message_info.first, :sms_id)
end
end
|
#sms_ids ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 43
def sms_ids
message_info = fetch_value(message_infos, :message_info)
return [fetch_value(message_info, :sms_id)] if message_info&.size == 1
message_info.each_with_object({}) do |info, hash|
hash[fetch_value(info, :phone)] = fetch_value(info, :sms_id)
end
end
|