Class: ApiAiRuby::RequestQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/api-ai-ruby/request/request_query.rb

Direct Known Subclasses

TextRequest, UserEntitiesRequest, VoiceRequest

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client, options = {}) ⇒ ApiAiRuby::TextRequest

Parameters:



12
13
14
15
16
17
18
19
20
21
# File 'lib/api-ai-ruby/request/request_query.rb', line 12

def initialize(client, options = {})
  @client = client
  @uri = client.api_base_url + 'query?v=' + client.api_version
  @request_method = :post
  options[:sessionId] = client.api_session_id
  @options = options
  @headers = {
      Authorization: 'Bearer ' + client.client_access_token,
  }
end

Instance Attribute Details

#clientObject

Returns the value of attribute client.



6
7
8
# File 'lib/api-ai-ruby/request/request_query.rb', line 6

def client
  @client
end

#headersObject

Returns the value of attribute headers.



6
7
8
# File 'lib/api-ai-ruby/request/request_query.rb', line 6

def headers
  @headers
end

#optionsObject

Returns the value of attribute options.



6
7
8
# File 'lib/api-ai-ruby/request/request_query.rb', line 6

def options
  @options
end

#request_methodObject

Returns the value of attribute request_method.



6
7
8
# File 'lib/api-ai-ruby/request/request_query.rb', line 6

def request_method
  @request_method
end

#uriObject

Returns the value of attribute uri.



6
7
8
# File 'lib/api-ai-ruby/request/request_query.rb', line 6

def uri
  @uri
end

Instance Method Details

#performArray, Hash

Returns:

  • (Array, Hash)


24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/api-ai-ruby/request/request_query.rb', line 24

def perform

  if @options.has_key?(:voiceData)
    options_key = :form
  else
    options_key = (@request_method === :get) ? :params : :json
  end

  response = HTTP.with(@headers).public_send(@request_method, @uri.to_s, options_key => @options)
  response_body = symbolize_keys!(response.parse)
  response_headers = response.headers
  fail_or_return_response_body(response.code, response_body)
end