Class: Infobip::SmsApi::Response::Base
- Inherits:
-
Object
- Object
- Infobip::SmsApi::Response::Base
- Defined in:
- lib/infobip/sms_api/response/base.rb
Constant Summary collapse
- SUCCESSFUL_STATUSES =
%w|PENDING ACCEPTED|
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
-
#request_error ⇒ Object
readonly
Returns the value of attribute request_error.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Instance Method Summary collapse
-
#failed_messages ⇒ Object
Return the list of all failed messages.
-
#initialize(status, attributes) ⇒ Base
constructor
A new instance of Base.
-
#sent_messages ⇒ Object
Return the list of all sent messages.
-
#successful? ⇒ Boolean
Return true if all messages are successfully sent.
Constructor Details
#initialize(status, attributes) ⇒ Base
Returns a new instance of Base.
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/infobip/sms_api/response/base.rb', line 8 def initialize(status, attributes) @status = status @data = attributes case @status when 200 @messages = [] attributes['messages'].each do || @messages << Infobip::SmsApi::Response::Message.new() end else @request_error = Infobip::SmsApi::Response::RequestError.new(attributes['requestError']) end end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
6 7 8 |
# File 'lib/infobip/sms_api/response/base.rb', line 6 def data @data end |
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
6 7 8 |
# File 'lib/infobip/sms_api/response/base.rb', line 6 def @messages end |
#request_error ⇒ Object (readonly)
Returns the value of attribute request_error.
6 7 8 |
# File 'lib/infobip/sms_api/response/base.rb', line 6 def request_error @request_error end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
6 7 8 |
# File 'lib/infobip/sms_api/response/base.rb', line 6 def status @status end |
Instance Method Details
#failed_messages ⇒ Object
Return the list of all failed messages
30 31 32 33 34 |
# File 'lib/infobip/sms_api/response/base.rb', line 30 def @messages.select { || !SUCCESSFUL_STATUSES.include?.status.group_name } if @messages end |
#sent_messages ⇒ Object
Return the list of all sent messages
38 39 40 41 42 |
# File 'lib/infobip/sms_api/response/base.rb', line 38 def @messages.select { || SUCCESSFUL_STATUSES.include?.status.group_name } if @messages end |
#successful? ⇒ Boolean
Return true if all messages are successfully sent
24 25 26 |
# File 'lib/infobip/sms_api/response/base.rb', line 24 def successful? @messages && (@messages.collect(&:status).collect(&:group_name).uniq - SUCCESSFUL_STATUSES).size == 0 end |