Class: Mblox::SmsResponse
- Inherits:
-
Object
- Object
- Mblox::SmsResponse
- Defined in:
- lib/mblox/sms_response.rb
Defined Under Namespace
Classes: Result
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#result ⇒ Object
readonly
Returns the value of attribute result.
-
#subscriber_result ⇒ Object
readonly
Returns the value of attribute subscriber_result.
Instance Method Summary collapse
-
#initialize(xml) ⇒ SmsResponse
constructor
A new instance of SmsResponse.
- #ok? ⇒ Boolean
- #unroutable? ⇒ Boolean
Constructor Details
#initialize(xml) ⇒ SmsResponse
Returns a new instance of SmsResponse.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/mblox/sms_response.rb', line 35 def initialize(xml) data = Mblox.from_xml(xml)['NotificationRequestResult'] raise MissingExpectedXmlContentError, "Xml should have contained a 'NotificationRequestResult' node, but was #{xml}" if data.blank? header = data['NotificationResultHeader'] raise MissingExpectedXmlContentError, "Xml should have contained a 'NotificationRequestResult' -> 'NotificationResultHeader' node, but was #{xml}" if header.blank? @request = Result.new(header['RequestResultCode'], header['RequestResultText']) @request = nil unless @request.valid? result_list = data['NotificationResultList'] raise MissingExpectedXmlContentError, "Xml should have contained a 'NotificationRequestResult' -> 'NotificationResultList' node, but was #{xml}" if result_list.blank? result_list = result_list['NotificationResult'] raise MissingExpectedXmlContentError, "Xml should have contained a 'NotificationRequestResult' -> 'NotificationResultList' -> 'NotificationResult' node, but was #{xml}" if result_list.blank? @result = Result.new(result_list['NotificationResultCode'], result_list['NotificationResultText']) @result = nil unless @result.valid? if @result.ok? result_list = result_list['SubscriberResult'] raise MissingExpectedXmlContentError, "Xml should have contained a 'NotificationRequestResult' -> 'NotificationResultList' -> 'NotificationResult' -> 'SubscriberResult' node, but was #{xml}" if result_list.blank? @subscriber_result = Result.new(result_list['SubscriberResultCode'], result_list['SubscriberResultText']) @subscriber_result = nil unless @subscriber_result.valid? end end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
34 35 36 |
# File 'lib/mblox/sms_response.rb', line 34 def request @request end |
#result ⇒ Object (readonly)
Returns the value of attribute result.
34 35 36 |
# File 'lib/mblox/sms_response.rb', line 34 def result @result end |
#subscriber_result ⇒ Object (readonly)
Returns the value of attribute subscriber_result.
34 35 36 |
# File 'lib/mblox/sms_response.rb', line 34 def subscriber_result @subscriber_result end |
Instance Method Details
#ok? ⇒ Boolean
59 60 61 |
# File 'lib/mblox/sms_response.rb', line 59 def ok? @request.ok? && @result.ok? && @subscriber_result.ok? end |
#unroutable? ⇒ Boolean
63 64 65 |
# File 'lib/mblox/sms_response.rb', line 63 def unroutable? @request.ok? && @result.ok? && Result::UNROUTABLE == @subscriber_result end |