Class: Agendrix::Nethris::Request
- Inherits:
-
Object
- Object
- Agendrix::Nethris::Request
- Defined in:
- lib/agendrix/nethris/request.rb
Defined Under Namespace
Modules: EntityType, Type
Instance Method Summary collapse
- #execute(type:, entity_type: nil, id: nil, parameters: nil) ⇒ Object
-
#initialize(vendor, session_id = nil) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(vendor, session_id = nil) ⇒ Request
Returns a new instance of Request.
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 |