class PBShipping::ApiError

Attributes

error_info[R]
http_body[R]
http_code[R]
message[R]

Public Class Methods

new(message, http_code=nil, http_body=nil) click to toggle source
# File lib/pbshipping/error.rb, line 22
def initialize(message, http_code=nil, http_body=nil)
  @message = message
  @http_code = http_code
  @http_body = http_body
  @error_info = []
  if http_body != nil 
    begin 
      json_error = PBShipping::json_parse(http_body)
    rescue => e
    end
    if json_error.is_a?(Array)
      for next_err in json_error
        if next_err.key?(:key) == true 
          @error_info << {
            :errorCode => next_err[:key], 
            :message => next_err[:message]
          }
        elsif next_err.key?(:errorCode) == true
          @error_info << {
            :errorCode => next_err[:errorCode], 
            :message => next_err[:message]
          }
        end
      end
    elsif json_error.is_a?(Hash) && json_error.key?(:errors)
      for next_err in json_error[:errors]
        @error_info << {
          :errorCode => next_err[:errorCode],
          :message => next_err[:errorDescription]
        }
      end
    end
  end
end

Public Instance Methods

to_s() click to toggle source
# File lib/pbshipping/error.rb, line 57
def to_s
  if http_body != nil
    msg = @message + " " + http_body.to_s
  else
    msg = @message
  end
  return msg
end