class OrangeSms::Error::AuthenticationError

Attributes

error_message[R]
message[R]
more_info[R]
response[R]
status[R]

Public Class Methods

new(message, response) click to toggle source
# File lib/orange_sms/error.rb, line 6
def initialize(message, response)
  @status = response.status
  body = JSON.parse(response.body)
  @error_message = body.fetch('error', nil)
  @more_info = body.fetch('error_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 15
def to_s
  message
end

Private Instance Methods

format_message(initial_message) click to toggle source
# File lib/orange_sms/error.rb, line 21
def format_message(initial_message)
  message = "[HTTP #{status}] #{initial_message}"
  message += "\n#{error_message}" if error_message
  message += "\n#{more_info}" if more_info
  message += '\n For more details on Orange Authentication errors see https://developer.orange.com/tech_guide/2-legged-oauth/'
  message + "\n\n"
end