Class: Agendrix::Nethris::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/agendrix/nethris/request.rb

Defined Under Namespace

Modules: EntityType, Type

Instance Method Summary collapse

Constructor Details

#initialize(vendor, session_id = nil) ⇒ Request

Returns a new instance of Request.

Raises:

  • (TypeError)


20
21
22
23
24
25
# File 'lib/agendrix/nethris/request.rb', line 20

def initialize(vendor, session_id = nil)
  raise TypeError, "vendor can't be nil" if vendor.nil?

  @vendor = vendor
  @session_id = session_id
end

Instance Method Details

#execute(type:, entity_type: nil, id: nil, parameters: nil) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/agendrix/nethris/request.rb', line 27

def execute(type:, entity_type: nil, id: nil, parameters: nil)
  body = generate_body(type: type, entity_type: entity_type, id: id, parameters: parameters)
  request = generate_request(body)
  response = client.request(request)
  parsed_body = parse_body(response.body)
  raise_errors_on_failure(parsed_body)
  parse_data(parsed_body)
rescue Timeout::Error
  raise ServiceUnavailableError, "Service Unavailable [request timed out]"
end