Class: SmsTraffic::Client::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/sms_traffic/client/response.rb

Constant Summary collapse

REPLY_HASH_MAP =
{
  :status  => StatusReply,
  :deliver => DeliverReply,
  nil      => Reply
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response, type: nil) ⇒ Response

Returns a new instance of Response.



15
16
17
18
19
20
21
22
23
24
# File 'lib/sms_traffic/client/response.rb', line 15

def initialize(response, type: nil)
  @origin = response
  @code = response.code.to_i
  @body = response.body
  @message = response.message

  return unless success?

  @reply = REPLY_HASH_MAP[type].new(body)
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



7
8
9
# File 'lib/sms_traffic/client/response.rb', line 7

def body
  @body
end

#codeObject (readonly)

Returns the value of attribute code.



7
8
9
# File 'lib/sms_traffic/client/response.rb', line 7

def code
  @code
end

#messageObject (readonly)

Returns the value of attribute message.



7
8
9
# File 'lib/sms_traffic/client/response.rb', line 7

def message
  @message
end

#originObject (readonly)

Returns the value of attribute origin.



7
8
9
# File 'lib/sms_traffic/client/response.rb', line 7

def origin
  @origin
end

#replyObject (readonly)

Returns the value of attribute reply.



7
8
9
# File 'lib/sms_traffic/client/response.rb', line 7

def reply
  @reply
end

Instance Method Details

#error_descriptionObject



34
35
36
# File 'lib/sms_traffic/client/response.rb', line 34

def error_description
  "#{code}: #{message}" if failure?
end

#failure?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/sms_traffic/client/response.rb', line 30

def failure?
  !success?
end

#success?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/sms_traffic/client/response.rb', line 26

def success?
  code == 200
end