Class: RetryingGateway

Inherits:
Gateway show all
Defined in:
lib/gatekeeper_api_client/retrying_gateway.rb

Constant Summary

Constants inherited from Gateway

Gateway::ENDPOINTS

Instance Method Summary collapse

Constructor Details

#initialize(inner, on_error: ErrorHandler) ⇒ RetryingGateway

Returns a new instance of RetryingGateway.



2
3
4
5
# File 'lib/gatekeeper_api_client/retrying_gateway.rb', line 2

def initialize(inner, on_error: ErrorHandler)
  super(inner)
  @error_handler = on_error
end

Instance Method Details

#post(tries: 3) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/gatekeeper_api_client/retrying_gateway.rb', line 7

def post(tries: 3)
  super()
rescue => error
  if (tries -= 1) > 0
    retry
  else
    @error_handler.call(error)
  end
end