class OrangeSms::Error::ApiError

Attributes

code[R]
description[R]
error_message[R]
message[R]
response[R]
status[R]

Public Class Methods

new(message, response) click to toggle source
# File lib/orange_sms/error.rb, line 33
def initialize(message, response)
  @status = response.status
  body = JSON.parse(response.body)
  @code = body.fetch('code', nil)
  @error_message = body.fetch('message', nil)
  @description = body.fetch('description', nil)
  @message = format_message(message)
  @response = response
end

Public Instance Methods

to_s() click to toggle source
# File lib/orange_sms/error.rb, line 43
def to_s
  message
end

Private Instance Methods

format_message(initial_message) click to toggle source
# File lib/orange_sms/error.rb, line 49
def format_message(initial_message)
  message = "[HTTP #{status}] #{code} : #{initial_message}"
  message += "\n#{error_message}" if error_message
  message += "\n#{description}" if description
  message += '\n For more details on Orange Api errors see https://developer.orange.com/apis/sms-sn/api-reference'
  message + "\n\n"
end