docomo-nlu 0.2.5 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +48 -0
- data/.reek.yml +98 -0
- data/.rubocop.rspec.yml +67 -0
- data/.rubocop.ruby.yml +419 -0
- data/.rubocop.yml +20 -11
- data/.ruby-version +1 -1
- data/Gemfile.lock +115 -131
- data/docomo-nlu.gemspec +8 -7
- data/lib/docomo-nlu.rb +4 -4
- data/lib/{docomo-nlu → docomo_nlu}/config.rb +3 -3
- data/lib/docomo_nlu/management.rb +31 -0
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/account.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/aiml_base.rb +14 -8
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/base.rb +4 -4
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/bot.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/bot_log.rb +13 -9
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/config.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/default_predicate.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/entry.rb +1 -2
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/log.rb +8 -8
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/map.rb +1 -1
- data/lib/docomo_nlu/management/multipart_base.rb +85 -0
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/ng_word.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/ok_word.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/organization.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/organization_member.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/predicate_name.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/project.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/project_member.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/property.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/provider.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/scenario.rb +2 -2
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/scenario_project.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/scenario_util.rb +4 -4
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/set.rb +1 -1
- data/lib/{docomo-nlu/management/V26 → docomo_nlu/management}/task_project.rb +1 -1
- data/lib/{docomo-nlu → docomo_nlu}/spontaneous.rb +8 -8
- data/lib/{docomo-nlu → docomo_nlu}/version.rb +1 -1
- data/vcr/vcr_cassettes/{V26 → management}/account/count.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/account/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/account/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/account/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/account/show.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/account/update.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/base/login.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/base/login_400.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/base/logout.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/base/logout_400.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/create_conflict.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/deploy.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/download_aiml.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/download_archive.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/download_dat.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/index_not_found.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/show.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/upload_aiml.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/upload_archive.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot/upload_dat.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/bot_log/all.yml +1 -1
- data/vcr/vcr_cassettes/{V26 → management}/bot_log/query.yml +1 -1
- data/vcr/vcr_cassettes/{V26 → management}/config/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/config/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/config/show.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/config/update.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/default_predicate/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/default_predicate/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/default_predicate/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/default_predicate/index_not_found.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/default_predicate/update.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/entry/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/entry/save.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/log/all.yml +1 -1
- data/vcr/vcr_cassettes/{V26 → management}/log/count.yml +1 -1
- data/vcr/vcr_cassettes/{V26 → management}/log/count/all.yml +1 -1
- data/vcr/vcr_cassettes/{V26 → management}/log/count/query.yml +1 -1
- data/vcr/vcr_cassettes/{V26 → management}/log/query.yml +1 -1
- data/vcr/vcr_cassettes/{V26 → management}/map/create.yml +6 -6
- data/vcr/vcr_cassettes/{V26 → management}/map/create_400.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/map/delete.yml +2 -2
- data/vcr/vcr_cassettes/{V26 → management}/map/index_all.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/map/index_find.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/map/index_where.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/map/save.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/map/save_400.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/map/show_find.yml +3 -3
- data/vcr/vcr_cassettes/{V26 → management}/map/show_where.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization/show.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization/update.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization_member/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization_member/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization_member/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization_member/index_404.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/organization_member/index_not_found.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/predicate_name/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/predicate_name/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/predicate_name/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/predicate_name/index_all.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/predicate_name/index_find.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/predicate_name/index_where.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project/create_conflict.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project/show.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project_member/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project_member/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project_member/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project_member/index_403.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/project_member/index_not_found.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/provider/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/provider/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/provider/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/provider/show.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/create_conflict.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/deploy.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/download_aiml.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/index.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/show.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/update.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/upload_aiml.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/upload_archive.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/scenario/upload_dat.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/create.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/create_400.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/delete.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/index_all.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/index_find.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/index_where.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/save.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/save_400.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/show_find.yml +0 -0
- data/vcr/vcr_cassettes/{V26 → management}/set/show_where.yml +0 -0
- metadata +184 -278
- data/lib/docomo-nlu/management.rb +0 -88
- data/lib/docomo-nlu/management/V23/account.rb +0 -30
- data/lib/docomo-nlu/management/V23/aiml_base.rb +0 -204
- data/lib/docomo-nlu/management/V23/base.rb +0 -88
- data/lib/docomo-nlu/management/V23/bot.rb +0 -18
- data/lib/docomo-nlu/management/V23/bot_log.rb +0 -8
- data/lib/docomo-nlu/management/V23/config.rb +0 -25
- data/lib/docomo-nlu/management/V23/default_predicate.rb +0 -15
- data/lib/docomo-nlu/management/V23/entry.rb +0 -8
- data/lib/docomo-nlu/management/V23/log.rb +0 -8
- data/lib/docomo-nlu/management/V23/map.rb +0 -10
- data/lib/docomo-nlu/management/V23/multipart_base.rb +0 -83
- data/lib/docomo-nlu/management/V23/ng_word.rb +0 -10
- data/lib/docomo-nlu/management/V23/ok_word.rb +0 -10
- data/lib/docomo-nlu/management/V23/organization.rb +0 -23
- data/lib/docomo-nlu/management/V23/organization_member.rb +0 -15
- data/lib/docomo-nlu/management/V23/predicate_name.rb +0 -15
- data/lib/docomo-nlu/management/V23/project.rb +0 -16
- data/lib/docomo-nlu/management/V23/project_member.rb +0 -15
- data/lib/docomo-nlu/management/V23/property.rb +0 -10
- data/lib/docomo-nlu/management/V23/provider.rb +0 -17
- data/lib/docomo-nlu/management/V23/scenario.rb +0 -29
- data/lib/docomo-nlu/management/V23/scenario_project.rb +0 -10
- data/lib/docomo-nlu/management/V23/scenario_util.rb +0 -30
- data/lib/docomo-nlu/management/V23/set.rb +0 -10
- data/lib/docomo-nlu/management/V23/task_project.rb +0 -20
- data/lib/docomo-nlu/management/V26/multipart_base.rb +0 -83
- data/vcr/vcr_cassettes/V23/account/count.yml +0 -42
- data/vcr/vcr_cassettes/V23/account/create.yml +0 -44
- data/vcr/vcr_cassettes/V23/account/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/account/index.yml +0 -43
- data/vcr/vcr_cassettes/V23/account/show.yml +0 -43
- data/vcr/vcr_cassettes/V23/account/update.yml +0 -41
- data/vcr/vcr_cassettes/V23/base/login.yml +0 -44
- data/vcr/vcr_cassettes/V23/base/login_400.yml +0 -42
- data/vcr/vcr_cassettes/V23/base/logout.yml +0 -40
- data/vcr/vcr_cassettes/V23/base/logout_400.yml +0 -40
- data/vcr/vcr_cassettes/V23/bot/create.yml +0 -43
- data/vcr/vcr_cassettes/V23/bot/create_conflict.yml +0 -45
- data/vcr/vcr_cassettes/V23/bot/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/bot/deploy.yml +0 -164
- data/vcr/vcr_cassettes/V23/bot/download_aiml.yml +0 -43
- data/vcr/vcr_cassettes/V23/bot/download_archive.yml +0 -43
- data/vcr/vcr_cassettes/V23/bot/download_dat.yml +0 -43
- data/vcr/vcr_cassettes/V23/bot/index.yml +0 -44
- data/vcr/vcr_cassettes/V23/bot/index_not_found.yml +0 -42
- data/vcr/vcr_cassettes/V23/bot/show.yml +0 -43
- data/vcr/vcr_cassettes/V23/bot/upload_aiml.yml +0 -45
- data/vcr/vcr_cassettes/V23/bot/upload_archive.yml +0 -46
- data/vcr/vcr_cassettes/V23/bot/upload_dat.yml +0 -46
- data/vcr/vcr_cassettes/V23/config/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/config/index.yml +0 -120
- data/vcr/vcr_cassettes/V23/config/update.yml +0 -42
- data/vcr/vcr_cassettes/V23/default_predicate/create.yml +0 -42
- data/vcr/vcr_cassettes/V23/default_predicate/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/default_predicate/index.yml +0 -120
- data/vcr/vcr_cassettes/V23/default_predicate/index_not_found.yml +0 -120
- data/vcr/vcr_cassettes/V23/default_predicate/update.yml +0 -40
- data/vcr/vcr_cassettes/V23/map/create.yml +0 -45
- data/vcr/vcr_cassettes/V23/map/create_400.yml +0 -48
- data/vcr/vcr_cassettes/V23/map/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/map/index_all.yml +0 -43
- data/vcr/vcr_cassettes/V23/map/index_find.yml +0 -43
- data/vcr/vcr_cassettes/V23/map/index_where.yml +0 -43
- data/vcr/vcr_cassettes/V23/map/save.yml +0 -45
- data/vcr/vcr_cassettes/V23/map/save_400.yml +0 -48
- data/vcr/vcr_cassettes/V23/map/show_find.yml +0 -43
- data/vcr/vcr_cassettes/V23/map/show_where.yml +0 -43
- data/vcr/vcr_cassettes/V23/organization/create.yml +0 -44
- data/vcr/vcr_cassettes/V23/organization/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/organization/index.yml +0 -138
- data/vcr/vcr_cassettes/V23/organization/show.yml +0 -42
- data/vcr/vcr_cassettes/V23/organization/update.yml +0 -40
- data/vcr/vcr_cassettes/V23/organization_member/create.yml +0 -42
- data/vcr/vcr_cassettes/V23/organization_member/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/organization_member/index.yml +0 -42
- data/vcr/vcr_cassettes/V23/organization_member/index_404.yml +0 -42
- data/vcr/vcr_cassettes/V23/organization_member/index_not_found.yml +0 -42
- data/vcr/vcr_cassettes/V23/predicate_name/create.yml +0 -42
- data/vcr/vcr_cassettes/V23/predicate_name/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/predicate_name/index.yml +0 -42
- data/vcr/vcr_cassettes/V23/predicate_name/index_all.yml +0 -42
- data/vcr/vcr_cassettes/V23/predicate_name/index_find.yml +0 -42
- data/vcr/vcr_cassettes/V23/predicate_name/index_where.yml +0 -42
- data/vcr/vcr_cassettes/V23/project/create.yml +0 -44
- data/vcr/vcr_cassettes/V23/project/create_conflict.yml +0 -44
- data/vcr/vcr_cassettes/V23/project/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/project/index.yml +0 -474
- data/vcr/vcr_cassettes/V23/project/show.yml +0 -43
- data/vcr/vcr_cassettes/V23/project_member/create.yml +0 -42
- data/vcr/vcr_cassettes/V23/project_member/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/project_member/index.yml +0 -42
- data/vcr/vcr_cassettes/V23/project_member/index_403.yml +0 -40
- data/vcr/vcr_cassettes/V23/project_member/index_not_found.yml +0 -42
- data/vcr/vcr_cassettes/V23/provider/create.yml +0 -44
- data/vcr/vcr_cassettes/V23/provider/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/provider/index.yml +0 -42
- data/vcr/vcr_cassettes/V23/provider/show.yml +0 -42
- data/vcr/vcr_cassettes/V23/scenario/create.yml +0 -42
- data/vcr/vcr_cassettes/V23/scenario/create_conflict.yml +0 -44
- data/vcr/vcr_cassettes/V23/scenario/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/scenario/deploy.yml +0 -164
- data/vcr/vcr_cassettes/V23/scenario/download_aiml.yml +0 -43
- data/vcr/vcr_cassettes/V23/scenario/index.yml +0 -43
- data/vcr/vcr_cassettes/V23/scenario/show.yml +0 -42
- data/vcr/vcr_cassettes/V23/scenario/update.yml +0 -40
- data/vcr/vcr_cassettes/V23/scenario/upload_aiml.yml +0 -45
- data/vcr/vcr_cassettes/V23/scenario/upload_archive.yml +0 -46
- data/vcr/vcr_cassettes/V23/scenario/upload_dat.yml +0 -46
- data/vcr/vcr_cassettes/V23/set/create.yml +0 -45
- data/vcr/vcr_cassettes/V23/set/create_400.yml +0 -48
- data/vcr/vcr_cassettes/V23/set/delete.yml +0 -38
- data/vcr/vcr_cassettes/V23/set/index_all.yml +0 -43
- data/vcr/vcr_cassettes/V23/set/index_find.yml +0 -43
- data/vcr/vcr_cassettes/V23/set/index_where.yml +0 -43
- data/vcr/vcr_cassettes/V23/set/save.yml +0 -45
- data/vcr/vcr_cassettes/V23/set/save_400.yml +0 -48
- data/vcr/vcr_cassettes/V23/set/show_find.yml +0 -43
- data/vcr/vcr_cassettes/V23/set/show_where.yml +0 -43
@@ -17,9 +17,8 @@
|
|
17
17
|
|
18
18
|
require "tempfile"
|
19
19
|
module DocomoNlu
|
20
|
-
module Management
|
20
|
+
module Management
|
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
|
@@ -38,7 +37,7 @@ module DocomoNlu
|
|
38
37
|
|
39
38
|
def transfer
|
40
39
|
prefix_options[:bot_id] ||= botId
|
41
|
-
self.class.
|
40
|
+
self.class.transfer(prefix_options)
|
42
41
|
end
|
43
42
|
|
44
43
|
def deploy
|
@@ -55,13 +54,14 @@ module DocomoNlu
|
|
55
54
|
response = conn.get("#{FileModel.collection_path(prefix_options)}/#{extra_path}")
|
56
55
|
|
57
56
|
if check_response(response)
|
58
|
-
instantiate_record({}, prefix_options).tap do |record|
|
57
|
+
return instantiate_record({}, prefix_options).tap do |record|
|
59
58
|
record.file = Tempfile.open(["docomo-nlu", ".#{prefix_options[:method]}"]) do |f|
|
60
59
|
f.write response.body.force_encoding("UTF-8")
|
61
60
|
f
|
62
61
|
end
|
63
62
|
end
|
64
63
|
end
|
64
|
+
nil
|
65
65
|
end
|
66
66
|
|
67
67
|
def upload(file, prefix_options)
|
@@ -99,7 +99,6 @@ module DocomoNlu
|
|
99
99
|
while check_path && compile_status != "Completed"
|
100
100
|
sleep(0.2)
|
101
101
|
compile_status = check_status(:compile, check_path)
|
102
|
-
raise ActiveResource::ServerError if %w[ErrorFinish NotCompiled].include?(compile_status)
|
103
102
|
end
|
104
103
|
|
105
104
|
# transfer and status check
|
@@ -108,15 +107,22 @@ module DocomoNlu
|
|
108
107
|
while check_path && transfer_status != "Completed"
|
109
108
|
sleep(0.2)
|
110
109
|
transfer_status = check_status(:transfer, check_path)
|
111
|
-
raise ActiveResource::ServerError if %w[ErrorFinish NotTransfered].include?(transfer_status)
|
112
110
|
end
|
113
111
|
true
|
114
112
|
end
|
115
113
|
|
116
114
|
def check_status(method, path)
|
115
|
+
response = connection.get(path, headers)
|
116
|
+
|
117
117
|
case method
|
118
|
-
when :compile
|
119
|
-
|
118
|
+
when :compile
|
119
|
+
JSON.parse(response.body)["status"].tap do |status|
|
120
|
+
raise ActiveResource::ServerError, response if %w[ErrorFinish NotCompiled].include?(status)
|
121
|
+
end
|
122
|
+
when :transfer
|
123
|
+
JSON.parse(response.body)["transferStatusResponses"][0]["status"].tap do |status|
|
124
|
+
raise ActiveResource::ServerError, response if %w[ErrorFinish NotTransfered].include?(status)
|
125
|
+
end
|
120
126
|
end
|
121
127
|
end
|
122
128
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
require "net/http"
|
4
4
|
|
5
5
|
module DocomoNlu
|
6
|
-
module Management
|
6
|
+
module Management
|
7
7
|
class Base < ActiveResource::Base
|
8
8
|
## For Dynamically generated headers via http://rmosolgo.github.io/blog/2014/02/05/dynamically-generated-headers-for-activeresource-requests/
|
9
9
|
cattr_accessor :static_headers
|
@@ -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
|
@@ -47,7 +47,7 @@ module DocomoNlu
|
|
47
47
|
class << self
|
48
48
|
def instantiate_collection(collection, original_params = {}, prefix_options = {})
|
49
49
|
if collection.is_a?(Hash)
|
50
|
-
collection = if collection.empty?
|
50
|
+
collection = if collection.compact.empty?
|
51
51
|
[]
|
52
52
|
else
|
53
53
|
[collection]
|
@@ -1,36 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "zip"
|
3
4
|
|
4
5
|
module DocomoNlu
|
5
|
-
module Management
|
6
|
+
module Management
|
6
7
|
class BotLog < Base
|
7
8
|
self.element_name = "botlogs"
|
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
|
@@ -42,18 +44,20 @@ module DocomoNlu
|
|
42
44
|
response = conn.get("#{collection_path(prefix_options)}?botId=#{bot_id}&#{params.to_query}")
|
43
45
|
|
44
46
|
if check_response(response)
|
45
|
-
Tempfile.open(["docomo-nlu", ".zip"]) do |f|
|
47
|
+
return Tempfile.open(["docomo-nlu", ".zip"]) do |f|
|
46
48
|
f.binmode
|
47
49
|
f.write response.body
|
48
50
|
f
|
49
51
|
end
|
50
52
|
end
|
53
|
+
nil
|
51
54
|
end
|
52
55
|
|
53
56
|
def unzip(file)
|
54
57
|
::Zip::File.open(file.path) do |zf|
|
55
58
|
zf.each do |entry|
|
56
59
|
next unless entry.file?
|
60
|
+
|
57
61
|
name = entry.name
|
58
62
|
body = entry.get_input_stream.read.split(/\R/)
|
59
63
|
yield name, body if block_given?
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module DocomoNlu
|
4
|
-
module Management
|
4
|
+
module Management
|
5
5
|
class Entry < Base
|
6
6
|
self.element_name = ""
|
7
7
|
self.prefix = "/management/v2.6/projects/:project_id/bots/:bot_id/:method"
|
@@ -20,7 +20,6 @@ module DocomoNlu
|
|
20
20
|
end
|
21
21
|
|
22
22
|
class << self
|
23
|
-
|
24
23
|
def check_status(prefix_options)
|
25
24
|
JSON.parse(connection.get("#{collection_path(prefix_options)}/status", headers).body)
|
26
25
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module DocomoNlu
|
4
|
-
module Management
|
4
|
+
module Management
|
5
5
|
class Log < Base
|
6
6
|
self.element_name = "logs"
|
7
7
|
self.prefix = "/management/v2.6/projects/:project_id/"
|
@@ -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
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "tempfile"
|
4
|
+
module DocomoNlu
|
5
|
+
module Management
|
6
|
+
class MultipartBase < Base
|
7
|
+
def save
|
8
|
+
self.class.create(attributes[:file], prefix_options)
|
9
|
+
end
|
10
|
+
|
11
|
+
def destroy
|
12
|
+
self.id = try(:category)
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def create(file, prefix_options)
|
18
|
+
check_prefix_options(prefix_options)
|
19
|
+
raise ActiveResource::BadRequest, "" unless file.instance_of?(File)
|
20
|
+
|
21
|
+
upload(file, prefix_options)
|
22
|
+
end
|
23
|
+
|
24
|
+
def find(*arguments)
|
25
|
+
scope = arguments.slice!(0)
|
26
|
+
options = arguments.slice!(0) || {}
|
27
|
+
|
28
|
+
prefix_options, = split_options(options[:params])
|
29
|
+
check_prefix_options(prefix_options)
|
30
|
+
|
31
|
+
case scope
|
32
|
+
when :all then download(nil, prefix_options)
|
33
|
+
else download(scope, prefix_options)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def where(clauses = {})
|
38
|
+
raise ArgumentError, "expected a clauses Hash, got #{clauses.inspect}" unless clauses.is_a? Hash
|
39
|
+
|
40
|
+
category = clauses[:category]
|
41
|
+
find(category, params: clauses)
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def download(category = nil, prefix_options = {})
|
47
|
+
extention = category.blank? ? ".zip" : ".map"
|
48
|
+
|
49
|
+
conn = Faraday.new(url: site.to_s, ssl: { verify: false }) do |builder|
|
50
|
+
builder.adapter :net_http
|
51
|
+
end
|
52
|
+
conn.headers["Authorization"] = access_token
|
53
|
+
|
54
|
+
response = conn.get(element_path(category, prefix_options))
|
55
|
+
|
56
|
+
if check_response(response)
|
57
|
+
return instantiate_record({}, prefix_options).tap do |record|
|
58
|
+
record.file = Tempfile.open(["docomo-nlu", extention]) do |f|
|
59
|
+
f.write response.body.force_encoding("UTF-8")
|
60
|
+
f
|
61
|
+
end
|
62
|
+
record.category = category
|
63
|
+
record.categories = JSON.parse(response.body)["categories"] unless category
|
64
|
+
end
|
65
|
+
end
|
66
|
+
nil
|
67
|
+
end
|
68
|
+
|
69
|
+
def upload(file, prefix_options)
|
70
|
+
conn = Faraday.new(url: site.to_s, ssl: { verify: false }) do |builder|
|
71
|
+
builder.request :multipart # マルチパートでデータを送信
|
72
|
+
builder.request :url_encoded
|
73
|
+
builder.adapter :net_http
|
74
|
+
end
|
75
|
+
conn.headers["Authorization"] = access_token
|
76
|
+
params = {
|
77
|
+
uploadFile: Faraday::UploadIO.new(file.path, "text/plain"),
|
78
|
+
}
|
79
|
+
response = conn.put collection_path(prefix_options), params
|
80
|
+
check_response(response)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|