class Contaazul::Error
Custom error class for rescuing from all Contaazul
API errors
Public Class Methods
new(response=nil)
click to toggle source
Calls superclass method
# File lib/contaazul/error.rb, line 4 def initialize(response=nil) @response = response super(build_error_message) end
Public Instance Methods
response_body()
click to toggle source
# File lib/contaazul/error.rb, line 9 def response_body @response_body ||= if (body = @response[:body]) && !body.empty? if body.is_a?(String) MultiJson.load(body, :symbolize_keys => true) else body end else nil end end
Private Instance Methods
build_error_message()
click to toggle source
# File lib/contaazul/error.rb, line 24 def build_error_message return nil if @response.nil? message = if response_body ": #{response_body[:error] || response_body[:message] || ''}" else '' end errors = unless message.empty? response_body[:errors] ? ": #{response_body[:errors].map{|e|e[:message]}.join(', ')}" : '' end "#{@response[:method].to_s.upcase} #{@response[:url].to_s}: #{@response[:status]}#{message}#{errors}" end