Sha256: ac072eca128506701ed779ebf5009e5ca57b7df38919899cf63b4b558029b130

Contents?: true

Size: 786 Bytes

Versions: 8

Compression:

Stored size: 786 Bytes

Contents

# frozen_string_literal: true

module LightspeedRestaurantClient
  class LightspeedRestaurantClientError < StandardError
    attr_reader :message
    attr_reader :http_status
    attr_reader :http_body
    attr_reader :http_headers
    attr_reader :request_id
    attr_reader :json_body

    def initialize(message = nil, http_status = nil, http_body = nil, http_headers = nil)
      @message = message
      @http_status = http_status
      @http_body = http_body
      @http_headers = http_headers || {}
      @request_id = @http_headers[:request_id]
    end

    def to_s
      status_string = @http_status.nil? ? '' : "(Status #{@http_status}) "
      id_string = @request_id.nil? ? '' : "(Request #{@request_id}) "
      "#{status_string}#{id_string}#{@message}"
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
lightspeed_restaurant-3.3.3 lib/lightspeed_restaurant/errors/lightspeed_restaurant_error.rb
lightspeed_restaurant-3.3.2 lib/lightspeed_restaurant/errors/lightspeed_restaurant_error.rb
lightspeed_restaurant-3.3.1 lib/lightspeed_restaurant/errors/lightspeed_restaurant_error.rb
lightspeed_restaurant-3.3.0 lib/lightspeed_restaurant/errors/lightspeed_restaurant_error.rb
lightspeed_restaurant-3.2.0 lib/lightspeed_restaurant/errors/lightspeed_restaurant_error.rb
lightspeed_restaurant-3.1.0 lib/lightspeed_restaurant/errors/lightspeed_restaurant_error.rb
lightspeed_restaurant-3.0.0 lib/lightspeed_restaurant/errors/lightspeed_restaurant_error.rb
lightspeed_restaurant-2.0.0 lib/lightspeed_restaurant/errors/lightspeed_restaurant_error.rb