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
18
19
20
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 18
def code
fetch_value(hash, :code)
end
|
#description ⇒ Object
22
23
24
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 22
def description
fetch_value(hash, :description)
end
|
#error? ⇒ Boolean
10
11
12
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 10
def error?
!ok?
end
|
#error_description ⇒ Object
52
53
54
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 52
def error_description
"#{result}: code: #{code}, description: #{description}" if error?
end
|
#message_infos ⇒ Object
26
27
28
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 26
def message_infos
fetch_value(hash, :message_infos)
end
|
#ok? ⇒ Boolean
6
7
8
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 6
def ok?
result == OK_REPLY && message_infos
end
|
#result ⇒ Object
14
15
16
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 14
def result
fetch_value(hash, :result)
end
|
#sms_id(phone = nil) ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 30
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
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/sms_traffic/client/deliver_reply.rb', line 41
def sms_ids
message_info = fetch_value(message_infos, :message_info)
return [fetch_value(message_info, :sms_id)] if message_info&.size == 1
return [] if message_info.nil?
message_info.each_with_object({}) do |info, hash|
hash[fetch_value(info, :phone)] = fetch_value(info, :sms_id)
end
end
|