Class: Parsbank::Restfull

Inherits:
Object
  • Object
show all
Defined in:
lib/parsbank/restfull.rb

Constant Summary collapse

MAX_RETRIES =
3
RETRY_INTERVAL =

In seconds

5

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Restfull

Returns a new instance of Restfull.



14
15
16
17
18
19
20
21
22
23
# File 'lib/parsbank/restfull.rb', line 14

def initialize(args = {})
  @endpoint = args.fetch(:endpoint)
  @action = args.fetch(:action)
  @headers = args.fetch(:headers, {})
  @request_message = args.fetch(:request_message, {})
  @http_method = args.fetch(:http_method)
  @response_type = args.fetch(:response_type, :json)

  setup_connection
end

Instance Attribute Details

#connectionObject

Returns the value of attribute connection.



9
10
11
# File 'lib/parsbank/restfull.rb', line 9

def connection
  @connection
end

Instance Method Details

#callObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/parsbank/restfull.rb', line 25

def call
  response = send_request

  log_response(response)

  if response.is_a?(Net::HTTPSuccess)
    parse_response(response)
  else
    log_and_raise_error(response)
  end
rescue Timeout::Error => e
  handle_error("Request timed out: #{e.message}", e)
rescue StandardError => e
  handle_error("An unexpected error occurred: #{e.message}", e)
end