Sha256: bb9b0b3ffab13cff539e77d411bbee894ae176c529e00cdec187b3bcee2faadd

Contents?: true

Size: 860 Bytes

Versions: 11

Compression:

Stored size: 860 Bytes

Contents

# frozen_string_literal: true

module PaypalAPI
  #
  # Builds PaypalAPI::NetowrkError error
  #
  class NetworkErrorBuilder
    # List of possible Network errors
    ERRORS = [
      EOFError,
      Errno::ECONNABORTED,
      Errno::ECONNREFUSED,
      Errno::ECONNRESET,
      Errno::EHOSTUNREACH,
      Errno::EPIPE,
      Errno::ETIMEDOUT,
      IOError,
      OpenSSL::SSL::SSLError,
      SocketError,
      Timeout::Error # Net::OpenTimeout, Net::ReadTimeout
    ].freeze

    class << self
      # Builds NetworkError instance
      #
      # @param request [Request] Original request
      # @param error [StandardError] Original error
      #
      # @return [Errors::NetworkError] Built NetworkError
      #
      def call(request:, error:)
        Errors::NetworkError.new(error.message, request: request, error: error)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
paypal-rest-api-0.5.1 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.5.0 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.4.0 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.3.1 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.3.0 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.2.1 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.2.0 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.1.1 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.1.0 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.0.4 lib/paypal-api/network_error_builder.rb
paypal-rest-api-0.0.3 lib/paypal-api/network_error_builder.rb