Class: IBMWatson::Conversation::Service

Inherits:
BaseService show all
Defined in:
lib/ibm_watson/conversation/service.rb

Constant Summary collapse

QUERY_VERSION =
"2017-02-03"

Instance Method Summary collapse

Methods inherited from BaseService

#initialize, url, version

Constructor Details

This class inherits a constructor from IBMWatson::BaseService

Instance Method Details

#create_workspace(workspace_data:) ⇒ Object



27
28
29
30
# File 'lib/ibm_watson/conversation/service.rb', line 27

def create_workspace(workspace_data:)
  url = build_url('workspaces', query: { version: QUERY_VERSION })
  upload_workspace(url, workspace_data)
end

#delete_workspace(workspace_id:) ⇒ Object



32
33
34
35
36
# File 'lib/ibm_watson/conversation/service.rb', line 32

def delete_workspace(workspace_id:)
  url = build_url('workspaces', workspace_id, query: { version: QUERY_VERSION })
  result = accept_json(basic_auth).delete(url)
  verify_http_result(result)
end

#list_workspacesObject



17
18
19
20
21
22
23
24
25
# File 'lib/ibm_watson/conversation/service.rb', line 17

def list_workspaces
  url = build_url('workspaces', query: { version: QUERY_VERSION })
  result = accept_json(basic_auth).get(url)
  verify_http_result(result)
  json_result = JSON.parse(result.body)
  json_result['workspaces'].map do |workspace_json|
    IBMWatson::Conversation::Workspace.new(workspace_json)
  end
end

#message(workspace_id:, input:, context:, alternate_intents: false) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/ibm_watson/conversation/service.rb', line 43

def message(workspace_id:, input:, context:, alternate_intents: false)
  url = build_url('workspaces', workspace_id, 'message', query: { version: QUERY_VERSION })
  params = {
    input: { text: input },
    context: context.as_json,
    alternate_intents: alternate_intents
  }
  result = accept_json(basic_auth).post(url, json: params)
  verify_http_result(result)
  IBMWatson::Conversation::MessageResponse.new.tap do |result_object|
    result_object.from_json(result)
  end
end

#update_workspace(workspace_id:, workspace_data:) ⇒ Object



38
39
40
41
# File 'lib/ibm_watson/conversation/service.rb', line 38

def update_workspace(workspace_id:, workspace_data:)
  url = build_url('workspaces', workspace_id, query: { version: QUERY_VERSION })
  upload_workspace(url, workspace_data)
end

#workspace(workspace_id:, export: false) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/ibm_watson/conversation/service.rb', line 8

def workspace(workspace_id:, export: false)
  url = build_url('workspaces', workspace_id, query: { version: QUERY_VERSION, export: export })
  result = accept_json(basic_auth).get(url)
  verify_http_result(result)
  IBMWatson::Conversation::Workspace.new.tap do |result_object|
    result_object.from_json(result)
  end
end