class Spree::API::Client::Error::ClientError

Raised when Spree returns a 4xx or 500 HTTP status code

Public Class Methods

new(error=nil) click to toggle source

Creates a new error from an HTTP environement

@param error [Exception] @return [Spree::API::Client::Error::ClientError]

Calls superclass method
# File lib/spree-api-client/error.rb, line 13
def initialize(error=nil)
  if error.respond_to?(:response) && !error.response.nil?
    http_error = error.response[:status].to_i

    if ERROR_MAP.has_key?(http_error)
      raise ERROR_MAP[http_error].new(
        message: error.response[:body]["error"],
        validation_errors: error.response[:body]["errors"] || error.response[:body]["exception"])
    else
      super
    end
  else
    super
  end
end