Class: PaypalAPI::RequestExecutor

Inherits:
Object
  • Object
show all
Defined in:
lib/paypal-api/request_executor.rb

Overview

Executes PaypalAPI::Request and returns PaypalAPI::Response or raises PaypalAPI::Error

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client, request) ⇒ RequestExecutor

Returns a new instance of RequestExecutor.



10
11
12
13
14
15
16
17
# File 'lib/paypal-api/request_executor.rb', line 10

def initialize(client, request)
  @client = client
  @request = request
  @http_opts = {use_ssl: request.uri.is_a?(URI::HTTPS), **client.config.http_opts}
  @retries = client.config.retries
  @callbacks = client.callbacks
  @callbacks_context = {retries_enabled: retries[:enabled], retries_count: retries[:count]}
end

Instance Attribute Details

#callbacksObject (readonly)

Returns the value of attribute callbacks.



8
9
10
# File 'lib/paypal-api/request_executor.rb', line 8

def callbacks
  @callbacks
end

#callbacks_contextObject (readonly)

Returns the value of attribute callbacks_context.



8
9
10
# File 'lib/paypal-api/request_executor.rb', line 8

def callbacks_context
  @callbacks_context
end

#clientObject (readonly)

Returns the value of attribute client.



8
9
10
# File 'lib/paypal-api/request_executor.rb', line 8

def client
  @client
end

#http_optsObject (readonly)

Returns the value of attribute http_opts.



8
9
10
# File 'lib/paypal-api/request_executor.rb', line 8

def http_opts
  @http_opts
end

#requestObject (readonly)

Returns the value of attribute request.



8
9
10
# File 'lib/paypal-api/request_executor.rb', line 8

def request
  @request
end

#retriesObject (readonly)

Returns the value of attribute retries.



8
9
10
# File 'lib/paypal-api/request_executor.rb', line 8

def retries
  @retries
end

Instance Method Details

#callResponse

Executes prepared Request, handles retries and preparation of errors

Returns:



24
25
26
27
28
29
# File 'lib/paypal-api/request_executor.rb', line 24

def call
  response = execute_request
  raise FailedRequestErrorBuilder.call(request: request, response: response) if response.failed?

  response
end