docomo-nlu 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +9 -2
- data/Gemfile.lock +4 -4
- data/lib/docomo-nlu/management/V23/base.rb +2 -2
- data/lib/docomo-nlu/management/V23/multipart_base.rb +1 -1
- data/lib/docomo-nlu/management/V23/scenario.rb +1 -1
- data/lib/docomo-nlu/management/V23/scenario_util.rb +3 -3
- data/lib/docomo-nlu/management/V26/aiml_base.rb +10 -5
- data/lib/docomo-nlu/management/V26/base.rb +2 -2
- data/lib/docomo-nlu/management/V26/bot_log.rb +10 -7
- data/lib/docomo-nlu/management/V26/entry.rb +0 -1
- data/lib/docomo-nlu/management/V26/log.rb +7 -7
- data/lib/docomo-nlu/management/V26/multipart_base.rb +1 -1
- data/lib/docomo-nlu/management/V26/scenario.rb +1 -1
- data/lib/docomo-nlu/management/V26/scenario_util.rb +3 -3
- data/lib/docomo-nlu/management.rb +2 -2
- data/lib/docomo-nlu/spontaneous.rb +5 -5
- data/lib/docomo-nlu/version.rb +1 -1
- data/vcr/vcr_cassettes/V26/bot_log/all.yml +1 -1
- data/vcr/vcr_cassettes/V26/bot_log/query.yml +1 -1
- data/vcr/vcr_cassettes/V26/log/all.yml +1 -1
- data/vcr/vcr_cassettes/V26/log/count/all.yml +1 -1
- data/vcr/vcr_cassettes/V26/log/count/query.yml +1 -1
- data/vcr/vcr_cassettes/V26/log/count.yml +1 -1
- data/vcr/vcr_cassettes/V26/log/query.yml +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08034a60bf16379d40abb5485451e3bf4d1a8d1e61deeeb68f3f3df71e7122c0'
|
4
|
+
data.tar.gz: cebeb6e745af177a7ab841d7cd83787c920e0c7e06a656e0aba8f1ff6199a8ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19ac577b2c46521c6d325b9c463fb3ecb98119958c799960bca48105a397fcbc21b251a7e750d463a46ecc8464fbb9b9ae34aaee596b195f4578508cbbbad9ae
|
7
|
+
data.tar.gz: f6daa422c37239930ebd6dd3dc34ee7a56a8c05cc81ef182378f5821f6a64285c2b55f0f6ed69d964c6933ca9707c39f101a8aa8cf96aa5def69f541b0baf709
|
data/.rubocop.yml
CHANGED
@@ -9,7 +9,6 @@ AllCops:
|
|
9
9
|
# If you use RuboCop with Ruby on Rails, specify TargetRailsVersion(default: 5.0).
|
10
10
|
TargetRailsVersion: 5.1
|
11
11
|
Rails:
|
12
|
-
# If you use RuboCop with Ruby on Rails, turn on this option.
|
13
12
|
Enabled: true
|
14
13
|
Naming/FileName:
|
15
14
|
Exclude:
|
@@ -18,4 +17,12 @@ Naming/FileName:
|
|
18
17
|
Rails/HasManyOrHasOneDependent:
|
19
18
|
Enabled: false
|
20
19
|
Rails/SaveBang:
|
21
|
-
Enabled: false
|
20
|
+
Enabled: false
|
21
|
+
RSpec/EmptyExampleGroup:
|
22
|
+
Enabled: false
|
23
|
+
Metrics/ClassLength:
|
24
|
+
Exclude:
|
25
|
+
- "lib/docomo-nlu/management/v23/aiml_base.rb"
|
26
|
+
RSpec/FilePath:
|
27
|
+
CustomTransform:
|
28
|
+
DocomoNlu: docomo-nlu
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
docomo-nlu (0.2.
|
4
|
+
docomo-nlu (0.2.6)
|
5
5
|
activeresource (~> 5.0.0)
|
6
6
|
bundler
|
7
7
|
faraday
|
@@ -105,7 +105,7 @@ GEM
|
|
105
105
|
mini_mime (1.0.1)
|
106
106
|
mini_portile2 (2.3.0)
|
107
107
|
minitest (5.11.3)
|
108
|
-
multipart-post (2.
|
108
|
+
multipart-post (2.1.1)
|
109
109
|
nio4r (2.3.1)
|
110
110
|
nokogiri (1.8.4)
|
111
111
|
mini_portile2 (~> 2.3.0)
|
@@ -178,7 +178,7 @@ GEM
|
|
178
178
|
rubocop-rspec (1.29.1)
|
179
179
|
rubocop (>= 0.58.0)
|
180
180
|
ruby-progressbar (1.10.0)
|
181
|
-
rubyzip (1.2.
|
181
|
+
rubyzip (1.2.3)
|
182
182
|
safe_yaml (1.0.4)
|
183
183
|
sprockets (3.7.2)
|
184
184
|
concurrent-ruby (~> 1.0)
|
@@ -222,4 +222,4 @@ DEPENDENCIES
|
|
222
222
|
webmock (~> 3.4.2)
|
223
223
|
|
224
224
|
BUNDLED WITH
|
225
|
-
|
225
|
+
2.0.1
|
@@ -24,8 +24,8 @@ module DocomoNlu
|
|
24
24
|
self.format = :json
|
25
25
|
|
26
26
|
## Get NLPManagement's AccessToken.
|
27
|
-
def login(
|
28
|
-
request_body = { accountName:
|
27
|
+
def login(account_name, password)
|
28
|
+
request_body = { accountName: account_name, password: password }.to_json
|
29
29
|
response_body = JSON.parse(connection.post("/management/v2.2/login", request_body, self.class.headers).body)
|
30
30
|
self.access_token = response_body["accessToken"]
|
31
31
|
end
|
@@ -43,7 +43,7 @@ module DocomoNlu
|
|
43
43
|
|
44
44
|
private
|
45
45
|
|
46
|
-
def download(category = nil, prefix_options)
|
46
|
+
def download(category = nil, prefix_options = {})
|
47
47
|
extention = category.blank? ? ".zip" : ".map"
|
48
48
|
|
49
49
|
conn = Faraday.new(url: site.to_s, ssl: { verify: false }) do |builder|
|
@@ -7,7 +7,7 @@ module DocomoNlu
|
|
7
7
|
self.prefix = "/management/v2.2/projects/:project_id/bots/:bot_id/"
|
8
8
|
|
9
9
|
@permitted_root_param = [:userScenarios, :templateScenarios]
|
10
|
-
@
|
10
|
+
@permitted_user_scenarios_param = [:scenarioId, :description, :compileFlag]
|
11
11
|
|
12
12
|
def save
|
13
13
|
@attributes.select! {|a| a =~ /(userScenarios|templateScenarios)/ }
|
@@ -15,15 +15,15 @@ module DocomoNlu
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def save
|
18
|
-
|
18
|
+
Rails.logger.debug "Method not used"
|
19
19
|
end
|
20
20
|
|
21
21
|
def destroy
|
22
|
-
|
22
|
+
Rails.logger.debug "Method not used"
|
23
23
|
end
|
24
24
|
|
25
25
|
def delete
|
26
|
-
|
26
|
+
Rails.logger.debug "Method not used"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -19,7 +19,6 @@ require "tempfile"
|
|
19
19
|
module DocomoNlu
|
20
20
|
module Management::V26
|
21
21
|
class AIMLBase < Base
|
22
|
-
|
23
22
|
def download(extra_path = "")
|
24
23
|
prefix_options[:bot_id] ||= botId
|
25
24
|
@attributes[:file] = self.class.download(prefix_options, extra_path).file
|
@@ -99,7 +98,6 @@ module DocomoNlu
|
|
99
98
|
while check_path && compile_status != "Completed"
|
100
99
|
sleep(0.2)
|
101
100
|
compile_status = check_status(:compile, check_path)
|
102
|
-
raise ActiveResource::ServerError if %w[ErrorFinish NotCompiled].include?(compile_status)
|
103
101
|
end
|
104
102
|
|
105
103
|
# transfer and status check
|
@@ -108,15 +106,22 @@ module DocomoNlu
|
|
108
106
|
while check_path && transfer_status != "Completed"
|
109
107
|
sleep(0.2)
|
110
108
|
transfer_status = check_status(:transfer, check_path)
|
111
|
-
raise ActiveResource::ServerError if %w[ErrorFinish NotTransfered].include?(transfer_status)
|
112
109
|
end
|
113
110
|
true
|
114
111
|
end
|
115
112
|
|
116
113
|
def check_status(method, path)
|
114
|
+
response = connection.get(path, headers)
|
115
|
+
|
117
116
|
case method
|
118
|
-
when :compile
|
119
|
-
|
117
|
+
when :compile
|
118
|
+
JSON.parse(response.body)["status"].tap do |status|
|
119
|
+
raise ActiveResource::ServerError.new(response) if %w[ErrorFinish NotCompiled].include?(status)
|
120
|
+
end
|
121
|
+
when :transfer
|
122
|
+
JSON.parse(response.body)["transferStatusResponses"][0]["status"].tap do |status|
|
123
|
+
raise ActiveResource::ServerError.new(response) if %w[ErrorFinish NotTransfered].include?(status)
|
124
|
+
end
|
120
125
|
end
|
121
126
|
end
|
122
127
|
end
|
@@ -24,8 +24,8 @@ module DocomoNlu
|
|
24
24
|
self.format = :json
|
25
25
|
|
26
26
|
## Get NLPManagement's AccessToken.
|
27
|
-
def login(
|
28
|
-
request_body = { accountName:
|
27
|
+
def login(account_name, password)
|
28
|
+
request_body = { accountName: account_name, password: password }.to_json
|
29
29
|
response_body = JSON.parse(connection.post("/management/v2.6/login", request_body, self.class.headers).body)
|
30
30
|
self.access_token = response_body["accessToken"]
|
31
31
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "zip"
|
3
4
|
|
4
5
|
module DocomoNlu
|
@@ -8,29 +9,30 @@ module DocomoNlu
|
|
8
9
|
self.prefix = "/management/v2.6/projects/:project_id/"
|
9
10
|
|
10
11
|
def all
|
11
|
-
|
12
|
+
Rails.logger.debug "You shoud use 'download' method"
|
12
13
|
end
|
13
14
|
|
14
15
|
def find
|
15
|
-
|
16
|
+
Rails.logger.debug "You shoud use 'download' method"
|
16
17
|
end
|
17
18
|
|
18
19
|
def where
|
19
|
-
|
20
|
+
Rails.logger.debug "You shoud use 'download' method"
|
20
21
|
end
|
21
22
|
|
22
23
|
def download(bot_id, params = {})
|
23
24
|
attributes[:file] = self.class.download(prefix_options, bot_id, params.slice(:start, :end))
|
24
|
-
|
25
|
+
attributes[:file]
|
25
26
|
end
|
26
27
|
|
27
28
|
def extract_data
|
28
29
|
return unless attributes[:file]
|
30
|
+
|
29
31
|
logs = []
|
30
|
-
self.class.unzip(attributes[:file]) do |
|
31
|
-
logs = body.map{
|
32
|
+
self.class.unzip(attributes[:file]) do |_name, body|
|
33
|
+
logs = body.map {|b| JSON.parse(b) }
|
32
34
|
end
|
33
|
-
|
35
|
+
logs
|
34
36
|
end
|
35
37
|
|
36
38
|
class << self
|
@@ -54,6 +56,7 @@ module DocomoNlu
|
|
54
56
|
::Zip::File.open(file.path) do |zf|
|
55
57
|
zf.each do |entry|
|
56
58
|
next unless entry.file?
|
59
|
+
|
57
60
|
name = entry.name
|
58
61
|
body = entry.get_input_stream.read.split(/\R/)
|
59
62
|
yield name, body if block_given?
|
@@ -18,24 +18,24 @@ module DocomoNlu
|
|
18
18
|
# => It is possible to ambiguous search using "*" in the following target ( input|output|startTopic|endTopic|userId|language|projectSpecific)
|
19
19
|
# query: String search within 200 characters.
|
20
20
|
|
21
|
-
def download(params={})
|
22
|
-
|
21
|
+
def download(params = {})
|
22
|
+
JSON.parse(connection.post(collection_path(prefix_options), params.to_json, self.class.headers).body)
|
23
23
|
end
|
24
24
|
|
25
|
-
def count(params={})
|
26
|
-
|
25
|
+
def count(params = {})
|
26
|
+
JSON.parse(connection.post("#{collection_path(prefix_options)}/count", params.to_json, self.class.headers).body)["count"]
|
27
27
|
end
|
28
28
|
|
29
29
|
def all
|
30
|
-
|
30
|
+
Rails.logger.debug "You shoud use 'download' or 'count' method"
|
31
31
|
end
|
32
32
|
|
33
33
|
def find
|
34
|
-
|
34
|
+
Rails.logger.debug "You shoud use 'download' or 'count' method"
|
35
35
|
end
|
36
36
|
|
37
37
|
def where
|
38
|
-
|
38
|
+
Rails.logger.debug "You shoud use 'download' or 'count' method"
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
@@ -43,7 +43,7 @@ module DocomoNlu
|
|
43
43
|
|
44
44
|
private
|
45
45
|
|
46
|
-
def download(category = nil, prefix_options)
|
46
|
+
def download(category = nil, prefix_options = {})
|
47
47
|
extention = category.blank? ? ".zip" : ".map"
|
48
48
|
|
49
49
|
conn = Faraday.new(url: site.to_s, ssl: { verify: false }) do |builder|
|
@@ -7,7 +7,7 @@ module DocomoNlu
|
|
7
7
|
self.prefix = "/management/v2.6/projects/:project_id/bots/:bot_id/"
|
8
8
|
|
9
9
|
@permitted_root_param = [:userScenarios, :templateScenarios]
|
10
|
-
@
|
10
|
+
@permitted_user_scenarios_param = [:scenarioId, :description, :compileFlag]
|
11
11
|
|
12
12
|
def save
|
13
13
|
@attributes.select! {|a| a =~ /(userScenarios|templateScenarios)/ }
|
@@ -15,15 +15,15 @@ module DocomoNlu
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def save
|
18
|
-
|
18
|
+
Rails.logger.debug "Method not used"
|
19
19
|
end
|
20
20
|
|
21
21
|
def destroy
|
22
|
-
|
22
|
+
Rails.logger.debug "Method not used"
|
23
23
|
end
|
24
24
|
|
25
25
|
def delete
|
26
|
-
|
26
|
+
Rails.logger.debug "Method not used"
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module DocomoNlu
|
3
4
|
module Management
|
4
|
-
NAMESPACE = (DocomoNlu.config.nlu_version == "v2.6" ? "V26" : "V23"
|
5
|
+
NAMESPACE = ((DocomoNlu.config.nlu_version == "v2.6") ? "V26" : "V23").freeze
|
5
6
|
|
6
7
|
module V23
|
7
8
|
autoload :Account, "docomo-nlu/management/V23/account"
|
@@ -83,6 +84,5 @@ module DocomoNlu
|
|
83
84
|
Scenario = const_get "DocomoNlu::Management::#{NAMESPACE}::Scenario"
|
84
85
|
Set = const_get "DocomoNlu::Management::#{NAMESPACE}::Set"
|
85
86
|
TaskProject = const_get "DocomoNlu::Management::#{NAMESPACE}::TaskProject"
|
86
|
-
|
87
87
|
end
|
88
88
|
end
|
@@ -19,8 +19,8 @@ module DocomoNlu
|
|
19
19
|
clientVer: "1.0.4",
|
20
20
|
language: "ja-JP",
|
21
21
|
location: { lat: "0", lon: "0" },
|
22
|
-
appRecvTime:
|
23
|
-
appSendTime:
|
22
|
+
appRecvTime: Time.current.strftime("%Y-%m-%d %H:%M:%S"),
|
23
|
+
appSendTime: Time.current.strftime("%Y-%m-%d %H:%M:%S"),
|
24
24
|
}.each do |k, v|
|
25
25
|
@attributes.store(k, v)
|
26
26
|
end
|
@@ -38,13 +38,13 @@ module DocomoNlu
|
|
38
38
|
@attributes.store(:appId, JSON.parse(res.body)["app_id"])
|
39
39
|
end
|
40
40
|
|
41
|
-
def dialogue(
|
42
|
-
@attributes[:voiceText] =
|
41
|
+
def dialogue(voice_text, **params)
|
42
|
+
@attributes[:voiceText] = voice_text
|
43
43
|
params.each do |k, v|
|
44
44
|
@attributes[k] ||= v
|
45
45
|
end
|
46
46
|
res = connection.post("/SpontaneousDialogueServer/dialogue", @attributes.to_json, self.class.headers)
|
47
|
-
|
47
|
+
JSON.parse(res.body)
|
48
48
|
end
|
49
49
|
|
50
50
|
class << self
|
data/lib/docomo-nlu/version.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: "<Host
|
5
|
+
uri: "<Host>/management/<Version>/projects/176/botlogs?botId=176_89_main&end=20190313&start=20190312"
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: post
|
5
|
-
uri: "<Host
|
5
|
+
uri: "<Host>/management/<Version>/projects/176/logs/count"
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
8
|
string: '{"details":[{"operation":"","target":"input","query":"Hello"}]}'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docomo-nlu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koji Yamazaki
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeresource
|