Class: ApiAiRuby::ContextsRequest

Inherits:
RequestQuery show all
Defined in:
lib/api-ai-ruby/crud/contexts_request.rb

Instance Attribute Summary

Attributes inherited from RequestQuery

#client, #headers, #options, #request_method, #uri

Instance Method Summary collapse

Methods inherited from RequestQuery

#perform

Constructor Details

#initialize(client, options = {}) ⇒ ContextsRequest

Returns a new instance of ContextsRequest.



4
5
6
7
8
9
# File 'lib/api-ai-ruby/crud/contexts_request.rb', line 4

def initialize(client,  options = {})
  super client, options
  @headers['Content-Type'] = 'application/json; charset=UTF-8'
  @crud_base_uri = client.api_base_url + 'contexts'
  @uri = @crud_base_uri
end

Instance Method Details

#create(contexts) ⇒ Object

Parameters:

Raises:



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/api-ai-ruby/crud/contexts_request.rb', line 30

def create(contexts)

  @request_method = :post
  @uri = @crud_base_uri + '?sessionId=' + self.client.api_session_id

  @options = nil
  @options = contexts if contexts.is_a? Array
  @options = [contexts] if contexts.is_a? ApiAiRuby::Context
  @options = [{:name => contexts}] if contexts.is_a? String
  raise ApiAiRuby::ClientError.new(
      'You should pass instance of ApiAiRuby::Context, Array<ApiAiRuby::Context> or String to ContextsRequest::create ') if @options == nil
  self.perform
end

#delete(name = nil) ⇒ Object



44
45
46
47
48
49
50
51
# File 'lib/api-ai-ruby/crud/contexts_request.rb', line 44

def delete(name = nil)
  @request_method = :delete
  @options = nil
  @uri = @crud_base_uri + '?sessionId=' + self.client.api_session_id
  @uri = @crud_base_uri + '/' + name + '?sessionId=' + self.client.api_session_id if name != nil
  # @options[:sessionId] = self.client.api_session_id
  self.perform
end

#listArray<ApiAiRuby::Context>

Returns:



22
23
24
25
26
27
# File 'lib/api-ai-ruby/crud/contexts_request.rb', line 22

def list
  @request_method = :get
  @uri = @crud_base_uri + '?sessionId=' + self.client.api_session_id
  @options = nil
  self.perform
end

#retrieve(name) ⇒ ApiAiRuby::Context

Parameters:

  • name (String)

Returns:

Raises:



13
14
15
16
17
18
19
# File 'lib/api-ai-ruby/crud/contexts_request.rb', line 13

def retrieve(name)
  raise ApiAiRuby::ClientError.new('context name required') if !name
  @request_method = :get
  @options = nil
  @uri = @crud_base_uri + '/' + name + '?sessionId=' + self.client.api_session_id
  self.perform
end