Sha256: a86d8621cdbfd280b4e7a842c043a590de6dfa8e53040fe99257039a6271d189

Contents?: true

Size: 785 Bytes

Versions: 15

Compression:

Stored size: 785 Bytes

Contents

# frozen_string_literal: true

module SolidusBactracs
  module Api
    class RequestError < RuntimeError
      attr_reader :response_code, :response_body, :response_headers

      class << self
        def from_response(response)
          new(**options_from_response(response))
        end

        private

        def options_from_response(response)
          {
            response_code: response.code,
            response_headers: response.headers,
            response_body: response.body,
          }
        end
      end

      def initialize(response_code:, response_body:, response_headers:)
        @response_code = response_code
        @response_body = response_body
        @response_headers = response_headers

        super(response_body)
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
solidus_bactracs-4.0.1 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-4.0.0 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.5.2 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.5.1 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.5.0 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.4.0 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.3.2 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.3.1 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.3.0 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.2.2 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.2.1 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.2.0 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.1.2 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.1.1 lib/solidus_bactracs/api/request_error.rb
solidus_bactracs-3.1.0 lib/solidus_bactracs/api/request_error.rb