Sha256: 49169d137df902ca689b816359bceeddfc07e886f703f1e25ddffa68f931bfce

Contents?: true

Size: 874 Bytes

Versions: 1

Compression:

Stored size: 874 Bytes

Contents

# frozen_string_literal: true

module BeyondApi
  class Error < StandardError
    attr_reader :error_id, :details, :trace_id, :full_message, :status_code, :error, :error_description

    def initialize(data, status_code = nil)
      data ||= {}

      @error_id          = data["errorId"]
      @details           = data["details"]
      @trace_id          = data["traceId"]
      @error             = data["error"]
      @error_description = data["error_description"]
      @full_message      = data
      @status_code       = status_code

      super(data["message"] || data["error_description"])
    end

    def to_json
      {
        error_id: @error_id,
        message: @message,
        details: @details,
        error: @error,
        error_description: @error_description,
        trace_id: @trace_id,
        status_code: @status_code
      }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
beyond_api-0.24.3.pre lib/beyond_api/error.rb