Sha256: 779d9956682ae0bb62b5c8fc361ff54299b90665f39bbc380966f06fe0d7f94b

Contents?: true

Size: 918 Bytes

Versions: 1

Compression:

Stored size: 918 Bytes

Contents

module Brightpearl
  class RequestError < StandardError
    attr_reader :response, :code, :status
    def initialize(msg, response: nil, status: nil)
      if response["errors"] && response["errors"].size == 1 # If error is easily identifiable then set it as the Error message
        error = response["errors"][0]["message"]
        @code = response["errors"][0]["code"]
        super(error)
      else
        super(msg)
      end
      @response = response
      @status = status
    end
  end

  class Throttled < StandardError
    attr_reader :response, :code, :status
    def initialize(msg, response: nil, status: nil)
      super(msg)
      @response = response
      @status = status
    end
  end
  
  class InvalidToken < StandardError
    attr_reader :response, :status
    def initialize(msg, response: nil, status: nil)
      super(msg)
      @response = response
      @status = status
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-brightpearl-0.4.0 lib/brightpearl/errors.rb