voxable-api-ai-ruby 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/voxable-api-ai-ruby.rb +13 -0
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/client.rb +21 -21
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/client_error.rb +1 -1
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/constants.rb +2 -2
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/get_entity_request.rb +3 -3
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/get_intent_request.rb +2 -2
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/request.rb +7 -6
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/request_error.rb +2 -2
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/text_request.rb +2 -2
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/update_entities_request.rb +4 -3
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/update_intent_request.rb +2 -2
- data/lib/{api-ai-ruby → voxable-api-ai-ruby}/voice_request.rb +5 -5
- data/spec/api-ai-ruby/api_spec.rb +3 -3
- data/spec/api-ai-ruby/client_spec.rb +15 -15
- data/spec/api-ai-ruby/error_spec.rb +5 -5
- data/spec/helper.rb +1 -1
- data/voxable-api-ai-ruby.gemspec +2 -2
- metadata +14 -15
- data/lib/api-ai-ruby.rb +0 -12
- data/scratch.rb +0 -89
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a08920d0ffa37880fadd68d0bc76527ab319a1ce479f2884100b9b0b6c7386d0
|
4
|
+
data.tar.gz: 281a5a6d78bb49c6c713596c2596d498f0a5d088bbf97005749b652e7d17c508
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ae3541d1053e40782928561918476dd0c31e24cc08af9f4afb2625e1f1ff384fdf66d34da03b96fac87ffb5d0404f8dff0480749a99ff277f275d07a11dd3d7
|
7
|
+
data.tar.gz: 4085c18a56178fcd967e4e254e31a8e537c093a5aa2d1d918bcfd75d5ad048818233699e0ad21b475f3debd09bb3556f80e6923c523dfbf747d372b74f76c242
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# The API.AI ruby gem
|
2
2
|
|
3
|
+
**⚠️ This is a forked version of the official Dialogflow Ruby client. It's out-of-date, and used by [Voxable](http://voxable.io) for our own projects. You're welcome to use it, of course, but you likely want [the official client gem](https://github.com/dialogflow/dialogflow-ruby-client).**
|
4
|
+
|
3
5
|
A Ruby SDK to the https://api.ai natural language processing service.
|
4
6
|
|
5
7
|
## Installation
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'voxable-api-ai-ruby/constants'
|
2
|
+
require 'voxable-api-ai-ruby/client'
|
3
|
+
require 'voxable-api-ai-ruby/request_error'
|
4
|
+
require 'voxable-api-ai-ruby/client_error'
|
5
|
+
require 'voxable-api-ai-ruby/request'
|
6
|
+
require 'voxable-api-ai-ruby/text_request'
|
7
|
+
require 'voxable-api-ai-ruby/voice_request'
|
8
|
+
require 'voxable-api-ai-ruby/update_entities_request'
|
9
|
+
require 'voxable-api-ai-ruby/update_intent_request'
|
10
|
+
require 'voxable-api-ai-ruby/get_intent_request'
|
11
|
+
require 'voxable-api-ai-ruby/get_entity_request'
|
12
|
+
|
13
|
+
module VoxableApiAiRuby; end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module VoxableApiAiRuby
|
2
2
|
class Client
|
3
3
|
attr_accessor :client_access_token, :developer_access_token
|
4
4
|
attr_writer :user_agent, :api_version, :api_lang, :api_base_url
|
@@ -16,19 +16,19 @@ module ApiAiRuby
|
|
16
16
|
|
17
17
|
# @return [String]
|
18
18
|
def user_agent
|
19
|
-
@user_agent ||= "ApiAiRubyGem/#{
|
19
|
+
@user_agent ||= "ApiAiRubyGem/#{VoxableApiAiRuby::Constants::VERSION}"
|
20
20
|
end
|
21
21
|
|
22
22
|
def api_base_url
|
23
|
-
@api_base_url ||=
|
23
|
+
@api_base_url ||= VoxableApiAiRuby::Constants::DEFAULT_BASE_URL
|
24
24
|
end
|
25
25
|
|
26
26
|
def api_lang
|
27
|
-
@api_lang ||=
|
27
|
+
@api_lang ||= VoxableApiAiRuby::Constants::DEFAULT_CLIENT_LANG
|
28
28
|
end
|
29
29
|
|
30
30
|
def api_version
|
31
|
-
@api_version ||=
|
31
|
+
@api_version ||= VoxableApiAiRuby::Constants::DEFAULT_API_VERSION
|
32
32
|
end
|
33
33
|
|
34
34
|
# @return [Hash]
|
@@ -50,51 +50,51 @@ module ApiAiRuby
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def text_request (query = '', options = {})
|
53
|
-
raise
|
53
|
+
raise VoxableApiAiRuby::ClientError.new('Credentials missing') if !client_credentials?
|
54
54
|
options[:params] ||= {}
|
55
55
|
options[:params] = options[:params].merge({ query: query })
|
56
|
-
|
56
|
+
VoxableApiAiRuby::TextRequest.new(self, options).perform
|
57
57
|
end
|
58
58
|
|
59
59
|
def voice_request(file_stream, options = {})
|
60
|
-
raise
|
60
|
+
raise VoxableApiAiRuby::ClientError.new('Credentials missing') if !client_credentials?
|
61
61
|
options[:form] ||= {}
|
62
62
|
options[:form] = options[:form].merge({ file: file_stream })
|
63
|
-
|
63
|
+
VoxableApiAiRuby::VoiceRequest.new(self, options).perform
|
64
64
|
end
|
65
65
|
|
66
66
|
def update_entities_request(entities, options = {})
|
67
|
-
raise
|
67
|
+
raise VoxableApiAiRuby::ClientError.new('Credentials missing') if !developer_credentials?
|
68
68
|
options[:json] = entities
|
69
|
-
|
69
|
+
VoxableApiAiRuby::UpdateEntitiesRequest.new(self, options).perform
|
70
70
|
end
|
71
71
|
|
72
72
|
def update_intent_request(intent, options = {})
|
73
|
-
raise
|
73
|
+
raise VoxableApiAiRuby::ClientError.new('Credentials missing') if !developer_credentials?
|
74
74
|
options[:json] = intent
|
75
|
-
|
75
|
+
VoxableApiAiRuby::UpdateIntentRequest.new(self, options).perform
|
76
76
|
end
|
77
77
|
|
78
78
|
def get_intent_request(iid, options = {})
|
79
|
-
raise
|
79
|
+
raise VoxableApiAiRuby::ClientError.new('Credentials missing') if !developer_credentials?
|
80
80
|
options[:iid] = iid
|
81
|
-
|
81
|
+
VoxableApiAiRuby::GetIntentRequest.new(self, options).perform
|
82
82
|
end
|
83
83
|
|
84
84
|
def get_intents_request(options = {})
|
85
|
-
raise
|
86
|
-
|
85
|
+
raise VoxableApiAiRuby::ClientError.new('Credentials missing') if !developer_credentials?
|
86
|
+
VoxableApiAiRuby::GetIntentRequest.new(self, options).perform
|
87
87
|
end
|
88
88
|
|
89
89
|
def get_entity_request(eid, options = {})
|
90
|
-
raise
|
90
|
+
raise VoxableApiAiRuby::ClientError.new('Credentials missing') if !developer_credentials?
|
91
91
|
options[:eid] = eid
|
92
|
-
|
92
|
+
VoxableApiAiRuby::GetEntityRequest.new(self, options).perform
|
93
93
|
end
|
94
94
|
|
95
95
|
def get_entities_request(options = {})
|
96
|
-
raise
|
97
|
-
|
96
|
+
raise VoxableApiAiRuby::ClientError.new('Credentials missing') if !developer_credentials?
|
97
|
+
VoxableApiAiRuby::GetEntityRequest.new(self, options).perform
|
98
98
|
end
|
99
99
|
end
|
100
100
|
end
|
@@ -1,6 +1,6 @@
|
|
1
|
-
module
|
2
|
-
class GetEntityRequest <
|
3
|
-
def initialize
|
1
|
+
module VoxableApiAiRuby
|
2
|
+
class GetEntityRequest < VoxableApiAiRuby::Request
|
3
|
+
def initialize(client, options={})
|
4
4
|
@path = "entities/#{ options.delete(:eid) }"
|
5
5
|
|
6
6
|
super client, options
|
@@ -2,15 +2,15 @@ require 'http'
|
|
2
2
|
require 'http/form_data'
|
3
3
|
require 'uri'
|
4
4
|
|
5
|
-
module
|
5
|
+
module VoxableApiAiRuby
|
6
6
|
class Request
|
7
7
|
|
8
8
|
attr_accessor :client, :headers, :options, :request_method, :uri
|
9
9
|
|
10
|
-
# @param client [
|
10
|
+
# @param client [VoxableApiAiRuby::Client]
|
11
11
|
# @param path [String] the path to the proper API endpoint
|
12
12
|
# @param options [Hash]
|
13
|
-
# @return [
|
13
|
+
# @return [VoxableApiAiRuby::TextRequest]
|
14
14
|
|
15
15
|
def initialize(client, options = {})
|
16
16
|
@client = client
|
@@ -20,7 +20,8 @@ module ApiAiRuby
|
|
20
20
|
options[:params] = options[:params].merge({ lang: client.api_lang })
|
21
21
|
@options = options
|
22
22
|
@headers = {
|
23
|
-
'Authorization': 'Bearer ' + client.client_access_token
|
23
|
+
'Authorization': ('Bearer ' + client.client_access_token),
|
24
|
+
'Content-Type': 'application/json; charset=utf-8'
|
24
25
|
}
|
25
26
|
end
|
26
27
|
|
@@ -39,7 +40,7 @@ module ApiAiRuby
|
|
39
40
|
def fail_or_return_response_body(code, body)
|
40
41
|
error = false
|
41
42
|
if code != 200 || ( !body.kind_of?(Array) && body[:status] && body[:status][:code] != 200 )
|
42
|
-
error =
|
43
|
+
error = VoxableApiAiRuby::RequestError.new body[:status][:errorDetails], body[:status][:code]
|
43
44
|
end
|
44
45
|
fail(error) if error
|
45
46
|
body
|
@@ -58,4 +59,4 @@ module ApiAiRuby
|
|
58
59
|
object
|
59
60
|
end
|
60
61
|
end
|
61
|
-
end
|
62
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module VoxableApiAiRuby
|
2
2
|
class RequestError < StandardError
|
3
3
|
#return [Integer]
|
4
4
|
attr_reader :code
|
@@ -7,7 +7,7 @@ module ApiAiRuby
|
|
7
7
|
#
|
8
8
|
# @param message [Exception, String]
|
9
9
|
# @param code [Integer]
|
10
|
-
# @return [
|
10
|
+
# @return [VoxableApiAiRuby::RequestError]
|
11
11
|
def initialize(message = '', code = nil)
|
12
12
|
super(message)
|
13
13
|
@code = code
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'json'
|
2
2
|
|
3
|
-
module
|
4
|
-
class UpdateEntitiesRequest <
|
3
|
+
module VoxableApiAiRuby
|
4
|
+
class UpdateEntitiesRequest < VoxableApiAiRuby::Request
|
5
5
|
def initialize (client, options={})
|
6
6
|
@path = 'entities'
|
7
7
|
|
@@ -9,7 +9,8 @@ module ApiAiRuby
|
|
9
9
|
@request_method = :put
|
10
10
|
# TODO: There should be a method for generating the proper headers.
|
11
11
|
@headers = {
|
12
|
-
'Authorization': 'Bearer ' + client.developer_access_token
|
12
|
+
'Authorization': 'Bearer ' + client.developer_access_token,
|
13
|
+
'Content-Type': 'application/json; charset=utf-8'
|
13
14
|
}
|
14
15
|
end
|
15
16
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'json'
|
2
2
|
|
3
|
-
module
|
4
|
-
class VoiceRequest <
|
5
|
-
# @param client [
|
3
|
+
module VoxableApiAiRuby
|
4
|
+
class VoiceRequest < VoxableApiAiRuby::Request
|
5
|
+
# @param client [VoxableApiAiRuby::Client]
|
6
6
|
# @param options [Hash]
|
7
|
-
# @return [
|
7
|
+
# @return [VoxableApiAiRuby::VoiceRequest]
|
8
8
|
def initialize(client, options = {})
|
9
9
|
@path = 'query'
|
10
10
|
|
@@ -20,4 +20,4 @@ module ApiAiRuby
|
|
20
20
|
self
|
21
21
|
end
|
22
22
|
end
|
23
|
-
end
|
23
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
describe 'api' do
|
4
|
-
let (:client) {
|
4
|
+
let (:client) { VoxableApiAiRuby::Client.new(:client_access_token => '3485a96fb27744db83e78b8c4bc9e7b7')}
|
5
5
|
|
6
6
|
it 'should return response' do
|
7
7
|
response = client.text_request 'Hello'
|
@@ -28,8 +28,8 @@ describe 'api' do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'should response with error on wrong credentials' do
|
31
|
-
client =
|
32
|
-
expect {client.text_request}.to raise_error(
|
31
|
+
client = VoxableApiAiRuby::Client.new(client_access_token: 'CS')
|
32
|
+
expect {client.text_request}.to raise_error(VoxableApiAiRuby::RequestError)
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'should send voiceData to API' do
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe VoxableApiAiRuby::Client do
|
4
4
|
describe '#user_agent' do
|
5
5
|
it 'defaults ApiAiRubyRubyGem/version' do
|
6
|
-
expect(subject.user_agent).to eq("ApiAiRubyGem/#{
|
6
|
+
expect(subject.user_agent).to eq("ApiAiRubyGem/#{VoxableApiAiRuby::Constants::VERSION}")
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
@@ -16,49 +16,49 @@ describe ApiAiRuby::Client do
|
|
16
16
|
|
17
17
|
describe '#client_credentials?' do
|
18
18
|
it 'returns true if all client credentials are present' do
|
19
|
-
client =
|
19
|
+
client = VoxableApiAiRuby::Client.new(client_access_token: 'CS')
|
20
20
|
expect(client.client_credentials?).to be_truthy
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'returns false if any client credentials are missing' do
|
24
|
-
client =
|
24
|
+
client = VoxableApiAiRuby::Client.new()
|
25
25
|
expect(client.client_credentials?).to be_falsey
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'raises error on request without client credentials' do
|
29
|
-
expect {subject.text_request '123'}.to raise_error(
|
30
|
-
expect {subject.voice_request '123'}.to raise_error(
|
29
|
+
expect {subject.text_request '123'}.to raise_error(VoxableApiAiRuby::ClientError)
|
30
|
+
expect {subject.voice_request '123'}.to raise_error(VoxableApiAiRuby::ClientError)
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
34
|
describe '#developer_credentials?' do
|
35
35
|
it 'returns true if all developer credentials are present' do
|
36
|
-
client =
|
36
|
+
client = VoxableApiAiRuby::Client.new(developer_access_token: 'CS')
|
37
37
|
expect(client.developer_credentials?).to be_truthy
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'returns false if any developer credentials are missing' do
|
41
|
-
client =
|
41
|
+
client = VoxableApiAiRuby::Client.new()
|
42
42
|
expect(client.developer_credentials?).to be_falsey
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'raises error on request without developer credentials' do
|
46
|
-
expect {subject.text_request '123'}.to raise_error(
|
47
|
-
expect {subject.voice_request '123'}.to raise_error(
|
46
|
+
expect {subject.text_request '123'}.to raise_error(VoxableApiAiRuby::ClientError)
|
47
|
+
expect {subject.voice_request '123'}.to raise_error(VoxableApiAiRuby::ClientError)
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
51
|
describe '#properties' do
|
52
52
|
|
53
53
|
it 'has correct default properties' do
|
54
|
-
client =
|
55
|
-
expect(client.api_base_url).to eq
|
56
|
-
expect(client.api_version).to eq
|
57
|
-
expect(client.api_lang).to eq
|
54
|
+
client = VoxableApiAiRuby::Client.new(client_access_token: 'CS')
|
55
|
+
expect(client.api_base_url).to eq VoxableApiAiRuby::Constants::DEFAULT_BASE_URL
|
56
|
+
expect(client.api_version).to eq VoxableApiAiRuby::Constants::DEFAULT_API_VERSION
|
57
|
+
expect(client.api_lang).to eq VoxableApiAiRuby::Constants::DEFAULT_CLIENT_LANG
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'correctly creates client with given properties' do
|
61
|
-
client =
|
61
|
+
client = VoxableApiAiRuby::Client.new(client_access_token: 'CS', api_lang: 'RU', api_base_url: 'http://localhost', api_version: '1234')
|
62
62
|
expect(client.api_base_url).to eq 'http://localhost'
|
63
63
|
expect(client.api_version).to eq '1234'
|
64
64
|
expect(client.api_lang).to eq 'RU'
|
@@ -1,21 +1,21 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe VoxableApiAiRuby::RequestError do
|
4
4
|
describe '#code' do
|
5
5
|
it 'returns the error code' do
|
6
|
-
error =
|
6
|
+
error = VoxableApiAiRuby::RequestError.new('execution expired', 123)
|
7
7
|
expect(error.code).to eq(123)
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
11
|
describe '#message' do
|
12
12
|
it 'returns the error message' do
|
13
|
-
error =
|
13
|
+
error = VoxableApiAiRuby::RequestError.new('execution expired')
|
14
14
|
expect(error.message).to eq('execution expired')
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
describe
|
19
|
+
describe VoxableApiAiRuby::ClientError do
|
20
20
|
|
21
|
-
end
|
21
|
+
end
|
data/spec/helper.rb
CHANGED
data/voxable-api-ai-ruby.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'api-ai-ruby/constants'
|
4
|
+
require 'voxable-api-ai-ruby/constants'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'voxable-api-ai-ruby'
|
8
|
-
spec.version =
|
8
|
+
spec.version = VoxableApiAiRuby::Constants::VERSION
|
9
9
|
spec.authors = ['api.ai']
|
10
10
|
spec.email = ['shingarev@api.ai']
|
11
11
|
spec.summary = %q{ruby SDK for https://api.ai }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: voxable-api-ai-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- api.ai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-02-
|
11
|
+
date: 2018-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -79,19 +79,18 @@ files:
|
|
79
79
|
- LICENSE
|
80
80
|
- README.md
|
81
81
|
- Rakefile
|
82
|
-
- lib/api-ai-ruby.rb
|
83
|
-
- lib/api-ai-ruby/client.rb
|
84
|
-
- lib/api-ai-ruby/client_error.rb
|
85
|
-
- lib/api-ai-ruby/constants.rb
|
86
|
-
- lib/api-ai-ruby/get_entity_request.rb
|
87
|
-
- lib/api-ai-ruby/get_intent_request.rb
|
88
|
-
- lib/api-ai-ruby/request.rb
|
89
|
-
- lib/api-ai-ruby/request_error.rb
|
90
|
-
- lib/api-ai-ruby/text_request.rb
|
91
|
-
- lib/api-ai-ruby/update_entities_request.rb
|
92
|
-
- lib/api-ai-ruby/update_intent_request.rb
|
93
|
-
- lib/api-ai-ruby/voice_request.rb
|
94
|
-
- scratch.rb
|
82
|
+
- lib/voxable-api-ai-ruby.rb
|
83
|
+
- lib/voxable-api-ai-ruby/client.rb
|
84
|
+
- lib/voxable-api-ai-ruby/client_error.rb
|
85
|
+
- lib/voxable-api-ai-ruby/constants.rb
|
86
|
+
- lib/voxable-api-ai-ruby/get_entity_request.rb
|
87
|
+
- lib/voxable-api-ai-ruby/get_intent_request.rb
|
88
|
+
- lib/voxable-api-ai-ruby/request.rb
|
89
|
+
- lib/voxable-api-ai-ruby/request_error.rb
|
90
|
+
- lib/voxable-api-ai-ruby/text_request.rb
|
91
|
+
- lib/voxable-api-ai-ruby/update_entities_request.rb
|
92
|
+
- lib/voxable-api-ai-ruby/update_intent_request.rb
|
93
|
+
- lib/voxable-api-ai-ruby/voice_request.rb
|
95
94
|
- spec/api-ai-ruby/api_spec.rb
|
96
95
|
- spec/api-ai-ruby/client_spec.rb
|
97
96
|
- spec/api-ai-ruby/error_spec.rb
|
data/lib/api-ai-ruby.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'api-ai-ruby/constants'
|
2
|
-
require 'api-ai-ruby/client'
|
3
|
-
require 'api-ai-ruby/request_error'
|
4
|
-
require 'api-ai-ruby/client_error'
|
5
|
-
require 'api-ai-ruby/request'
|
6
|
-
require 'api-ai-ruby/text_request'
|
7
|
-
require 'api-ai-ruby/voice_request'
|
8
|
-
require 'api-ai-ruby/update_entities_request'
|
9
|
-
require 'api-ai-ruby/update_intent_request'
|
10
|
-
require 'api-ai-ruby/get_intent_request'
|
11
|
-
require 'api-ai-ruby/get_entity_request'
|
12
|
-
|
data/scratch.rb
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
require 'api-ai-ruby'
|
2
|
-
require 'json'
|
3
|
-
require '/Users/techpeace/.rvm/gems/ruby-2.2.0@vthreat/gems/awesome_print-1.6.1/lib/awesome_print'
|
4
|
-
|
5
|
-
client = ApiAiRuby::Client.new(
|
6
|
-
client_access_token: '6075a4572e17430d8976d3d236962ac4',
|
7
|
-
developer_access_token: '9da728dd53cd47ba8de7b87080ccaa4b',
|
8
|
-
subscription_key: '24c81cc6-0d3d-4a1c-8701-a3bd7ba6b02a',
|
9
|
-
)
|
10
|
-
|
11
|
-
=begin
|
12
|
-
result = client.text_request('hello there')
|
13
|
-
puts result.inspect
|
14
|
-
|
15
|
-
entities = [
|
16
|
-
{
|
17
|
-
name: 'car',
|
18
|
-
entries: [
|
19
|
-
{
|
20
|
-
value: 'car',
|
21
|
-
synonyms: %w(car auto bus trike)
|
22
|
-
}
|
23
|
-
]
|
24
|
-
}
|
25
|
-
]
|
26
|
-
result = client.update_entities_request(entities)
|
27
|
-
|
28
|
-
puts result.inspect
|
29
|
-
|
30
|
-
#curl -k -X PUT --data "[{'name': 'car', 'entries': [{'value':'car', 'synonyms':['car', 'auto', 'bus', 'whip']} ]}]" -H "Content-Type: application/json" -H "Authorization: Bearer 5dae99c607d2462bb11e1c2882816125" -H "ocp-apim-subscription-key: 24c81cc6-0d3d-4a1c-8701-a3bd7ba6b02a" "https://api.api.ai/api/entities?v=20150204"
|
31
|
-
|
32
|
-
intent = {
|
33
|
-
"id": "1dbfe740-2fbd-4c5e-95cf-0b3090eda942",
|
34
|
-
"name": "launchSimulation",
|
35
|
-
"auto": true,
|
36
|
-
"contexts": [],
|
37
|
-
"templates": [
|
38
|
-
"launch a @simulation:simulationName @sys.date-time:simulationTime",
|
39
|
-
"open @simulation:simulationName @sys.date-time:simulationTime",
|
40
|
-
"run a @simulation:simulationName @sys.date-time:simulationTime",
|
41
|
-
"run a @simulation:simulationName simulation @sys.date-time:simulationTime"
|
42
|
-
],
|
43
|
-
"responses": [
|
44
|
-
{
|
45
|
-
"resetContexts": false,
|
46
|
-
"affectedContexts": [],
|
47
|
-
"parameters": [
|
48
|
-
{
|
49
|
-
"required": true,
|
50
|
-
"dataType": "@simulation",
|
51
|
-
"name": "simulationName",
|
52
|
-
"value": "$simulationName",
|
53
|
-
"prompts": [
|
54
|
-
"Okay, which simulation would you like to run?",
|
55
|
-
nil
|
56
|
-
]
|
57
|
-
},
|
58
|
-
{
|
59
|
-
"required": false,
|
60
|
-
"dataType": "@sys.date-time",
|
61
|
-
"name": "simulationTime",
|
62
|
-
"value": "$simulationTime",
|
63
|
-
"defaultValue": ""
|
64
|
-
}
|
65
|
-
],
|
66
|
-
"speech": "okay, launching $simulationName simulation"
|
67
|
-
}
|
68
|
-
],
|
69
|
-
"state": "LEARNED",
|
70
|
-
"priority": 750000,
|
71
|
-
"cortanaCommand": {
|
72
|
-
"navigateOrService": "NAVIGATE",
|
73
|
-
"target": ""
|
74
|
-
},
|
75
|
-
"assistantCommand": {
|
76
|
-
"urlCommand": "",
|
77
|
-
"doCommand": ""
|
78
|
-
}
|
79
|
-
}
|
80
|
-
|
81
|
-
result = client.update_intent_request(intent)
|
82
|
-
|
83
|
-
puts result
|
84
|
-
=end
|
85
|
-
|
86
|
-
#result = client.get_intent_request('1dbfe740-2fbd-4c5e-95cf-0b3090eda942')
|
87
|
-
result = client.get_intents_request
|
88
|
-
puts result.to_json
|
89
|
-
|