Sha256: 21f88e163740dc4165c8bc8774fafe51e5ee20af041f19ee3a9b7f58d51797ec

Contents?: true

Size: 786 Bytes

Versions: 8

Compression:

Stored size: 786 Bytes

Contents

# frozen_string_literal: true

module SolidusBacktracs
  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

8 entries across 8 versions & 2 rubygems

Version Path
solidus_bactracs-3.0.0 lib/solidus_backtracs/api/request_error.rb
solidus_backtracs-2.2.6 lib/solidus_backtracs/api/request_error.rb
solidus_backtracs-2.2.5 lib/solidus_backtracs/api/request_error.rb
solidus_backtracs-2.2.4 lib/solidus_backtracs/api/request_error.rb
solidus_backtracs-2.2.3 lib/solidus_backtracs/api/request_error.rb
solidus_backtracs-2.2.2 lib/solidus_backtracs/api/request_error.rb
solidus_backtracs-2.2.1 lib/solidus_backtracs/api/request_error.rb
solidus_backtracs-2.2.0 lib/solidus_backtracs/api/request_error.rb