Class: Mindee::V1::Parsing::Common::ApiResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/mindee/v1/parsing/common/api_response.rb

Overview

Wrapper class for all predictions (synchronous and asynchronous)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(product_class, http_response, raw_http) ⇒ ApiResponse

Returns a new instance of ApiResponse.

Parameters:

  • product_class (Mindee::Inference)
  • http_response (Hash)
  • raw_http (String)

Raises:



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/mindee/v1/parsing/common/api_response.rb', line 44

def initialize(product_class, http_response, raw_http)
  logger.debug('Handling API response')
  @raw_http = raw_http
  raise Error::MindeeAPIError, 'Invalid response format.' unless http_response.key?('api_request')

  @api_request = Mindee::V1::Parsing::Common::ApiRequest.new(http_response['api_request'])

  if http_response.key?('document') &&
     (!http_response.key?('job') ||
       http_response['job']['status'] == 'completed') &&
     @api_request.status == RequestStatus::SUCCESS
    @document = Mindee::V1::Parsing::Common::Document.new(product_class, http_response['document'])
  end
  @job = Mindee::V1::Parsing::Common::Job.new(http_response['job']) if http_response.key?('job')
end

Instance Attribute Details

#api_requestMindee::V1::Parsing::Common::ApiRequest (readonly)



37
38
39
# File 'lib/mindee/v1/parsing/common/api_response.rb', line 37

def api_request
  @api_request
end

#documentMindee::V1::Parsing::Common::Document? (readonly)



33
34
35
# File 'lib/mindee/v1/parsing/common/api_response.rb', line 33

def document
  @document
end

#jobMindee::V1::Parsing::Common::Job? (readonly)



35
36
37
# File 'lib/mindee/v1/parsing/common/api_response.rb', line 35

def job
  @job
end

#raw_httpString (readonly)

Returns:

  • (String)


39
40
41
# File 'lib/mindee/v1/parsing/common/api_response.rb', line 39

def raw_http
  @raw_http
end