crowdin-api 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test-and-lint.yml +1 -1
- data/.gitignore +2 -2
- data/.rubocop_todo.yml +37 -30
- data/README.md +23 -12
- data/bin/crowdin-console +4 -4
- data/lib/crowdin-api/api-resources/dictionaries.rb +34 -0
- data/lib/crowdin-api/api-resources/distributions.rb +99 -0
- data/lib/crowdin-api/api-resources/glossaries.rb +217 -0
- data/lib/crowdin-api/api-resources/labels.rb +117 -0
- data/lib/crowdin-api/api-resources/languages.rb +1 -0
- data/lib/crowdin-api/api-resources/machine_translation_engines.rb +74 -0
- data/lib/crowdin-api/api-resources/projects.rb +15 -1
- data/lib/crowdin-api/api-resources/reports.rb +138 -0
- data/lib/crowdin-api/api-resources/screenshots.rb +186 -0
- data/lib/crowdin-api/api-resources/source_files.rb +3 -2
- data/lib/crowdin-api/api-resources/storages.rb +5 -1
- data/lib/crowdin-api/api-resources/string_comments.rb +73 -0
- data/lib/crowdin-api/api-resources/string_translations.rb +220 -0
- data/lib/crowdin-api/api-resources/tasks.rb +113 -0
- data/lib/crowdin-api/api-resources/teams.rb +144 -0
- data/lib/crowdin-api/api-resources/translation_memory.rb +145 -0
- data/lib/crowdin-api/api-resources/translations.rb +8 -6
- data/lib/crowdin-api/api-resources/users.rb +129 -0
- data/lib/crowdin-api/api-resources/vendors.rb +21 -0
- data/lib/crowdin-api/api-resources/webhooks.rb +73 -0
- data/lib/crowdin-api/api-resources/workflows.rb +3 -0
- data/lib/crowdin-api/client/client.rb +41 -28
- data/lib/crowdin-api/client/configuration.rb +10 -6
- data/lib/crowdin-api/client/version.rb +1 -1
- data/lib/crowdin-api/core/errors.rb +2 -1
- data/lib/crowdin-api/core/{api_errors_raiser.rb → errors_raisers.rb} +21 -11
- data/lib/crowdin-api/core/request.rb +8 -5
- data/lib/crowdin-api/core/utils.rb +10 -0
- data/lib/crowdin-api.rb +22 -6
- data/spec/client/client-instance_spec.rb +14 -0
- data/spec/{core/config-instance_spec.rb → client/configuration-instance_spec.rb} +7 -7
- metadata +21 -5
- data/spec/crowdin-api_spec.rb +0 -7
@@ -0,0 +1,117 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
module Labels
|
6
|
+
def list_lables(query = {}, project_id = config.project_id)
|
7
|
+
project_id || raise_project_id_is_required_error
|
8
|
+
|
9
|
+
request = Web::Request.new(
|
10
|
+
self,
|
11
|
+
:get,
|
12
|
+
"/projects/#{project_id}/labels",
|
13
|
+
query
|
14
|
+
)
|
15
|
+
|
16
|
+
request.perform
|
17
|
+
end
|
18
|
+
|
19
|
+
def add_label(query = {}, project_id = config.project_id)
|
20
|
+
project_id || raise_project_id_is_required_error
|
21
|
+
|
22
|
+
request = Web::Request.new(
|
23
|
+
self,
|
24
|
+
:post,
|
25
|
+
"/projects/#{project_id}/labels",
|
26
|
+
query
|
27
|
+
)
|
28
|
+
|
29
|
+
request.perform
|
30
|
+
end
|
31
|
+
|
32
|
+
def get_label(label_id = nil, project_id = config.project_id)
|
33
|
+
label_id || raise_parameter_is_required_error(:label_id)
|
34
|
+
project_id || raise_project_id_is_required_error
|
35
|
+
|
36
|
+
request = Web::Request.new(
|
37
|
+
self,
|
38
|
+
:get,
|
39
|
+
"/projects/#{project_id}/labels/#{label_id}"
|
40
|
+
)
|
41
|
+
|
42
|
+
request.perform
|
43
|
+
end
|
44
|
+
|
45
|
+
def delete_label(label_id = nil, project_id = config.project_id)
|
46
|
+
label_id || raise_parameter_is_required_error(:label_id)
|
47
|
+
project_id || raise_project_id_is_required_error
|
48
|
+
|
49
|
+
request = Web::Request.new(
|
50
|
+
self,
|
51
|
+
:delete,
|
52
|
+
"/projects/#{project_id}/labels/#{label_id}"
|
53
|
+
)
|
54
|
+
|
55
|
+
request.perform
|
56
|
+
end
|
57
|
+
|
58
|
+
def edit_label(label_id = nil, query = {}, project_id = config.project_id)
|
59
|
+
label_id || raise_parameter_is_required_error(:label_id)
|
60
|
+
project_id || raise_project_id_is_required_error
|
61
|
+
|
62
|
+
request = Web::Request.new(
|
63
|
+
self,
|
64
|
+
:patch,
|
65
|
+
"/projects/#{project_id}/labels/#{label_id}",
|
66
|
+
query
|
67
|
+
)
|
68
|
+
|
69
|
+
request.perform
|
70
|
+
end
|
71
|
+
|
72
|
+
def assign_label_to_strings(label_id = nil, query = {}, project_id = config.project_id)
|
73
|
+
label_id || raise_parameter_is_required_error(:label_id)
|
74
|
+
project_id || raise_project_id_is_required_error
|
75
|
+
|
76
|
+
request = Web::Request.new(
|
77
|
+
self,
|
78
|
+
:post,
|
79
|
+
"/projects/#{project_id}/labels/#{label_id}/strings",
|
80
|
+
query
|
81
|
+
)
|
82
|
+
|
83
|
+
request.perform
|
84
|
+
end
|
85
|
+
|
86
|
+
# For now Rest Client Resource aren't support payload for DELETE requests.
|
87
|
+
# So we have workaround through Rest Client Execute for this case
|
88
|
+
def unassign_label_from_strings(label_id = nil, query = {}, project_id = config.project_id)
|
89
|
+
# label_id || raise_parameter_is_required_error(:label_id)
|
90
|
+
# project_id || raise_project_id_is_required_error
|
91
|
+
#
|
92
|
+
# request = Web::Request.new(
|
93
|
+
# self,
|
94
|
+
# :delete,
|
95
|
+
# "/projects/#{project_id}/labels/#{label_id}",
|
96
|
+
# query
|
97
|
+
# )
|
98
|
+
#
|
99
|
+
# request.perform
|
100
|
+
|
101
|
+
response = ::RestClient::Request.execute(
|
102
|
+
{
|
103
|
+
method: :delete,
|
104
|
+
url: config.base_url + config.target_api_url + "/projects/#{project_id}/labels/#{label_id}",
|
105
|
+
payload: query.to_json
|
106
|
+
}.merge(@options)
|
107
|
+
)
|
108
|
+
|
109
|
+
begin
|
110
|
+
JSON.parse(response)
|
111
|
+
rescue
|
112
|
+
{}
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
# -- For Enterprise mode only --
|
6
|
+
module MachineTranslationEngines
|
7
|
+
def list_mts(query = {})
|
8
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
9
|
+
|
10
|
+
request = Web::Request.new(
|
11
|
+
self,
|
12
|
+
:get,
|
13
|
+
'/mts',
|
14
|
+
query
|
15
|
+
)
|
16
|
+
|
17
|
+
request.perform
|
18
|
+
end
|
19
|
+
|
20
|
+
def add_mt(query = {})
|
21
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
22
|
+
|
23
|
+
request = Web::Request.new(
|
24
|
+
self,
|
25
|
+
:post,
|
26
|
+
'/mts',
|
27
|
+
query
|
28
|
+
)
|
29
|
+
|
30
|
+
request.perform
|
31
|
+
end
|
32
|
+
|
33
|
+
def get_mt(mt_id = nil)
|
34
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
35
|
+
mt_id || raise_parameter_is_required_error(:mt_id)
|
36
|
+
|
37
|
+
request = Web::Request.new(
|
38
|
+
self,
|
39
|
+
:get,
|
40
|
+
"/mts/#{mt_id}"
|
41
|
+
)
|
42
|
+
|
43
|
+
request.perform
|
44
|
+
end
|
45
|
+
|
46
|
+
def delete_mt(mt_id = nil)
|
47
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
48
|
+
mt_id || raise_parameter_is_required_error(:mt_id)
|
49
|
+
|
50
|
+
request = Web::Request.new(
|
51
|
+
self,
|
52
|
+
:delete,
|
53
|
+
"/mts/#{mt_id}"
|
54
|
+
)
|
55
|
+
|
56
|
+
request.perform
|
57
|
+
end
|
58
|
+
|
59
|
+
def edit_mt(mt_id = nil, query = {})
|
60
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
61
|
+
mt_id || raise_parameter_is_required_error(:mt_id)
|
62
|
+
|
63
|
+
request = Web::Request.new(
|
64
|
+
self,
|
65
|
+
:patch,
|
66
|
+
"/mts/#{mt_id}",
|
67
|
+
query
|
68
|
+
)
|
69
|
+
|
70
|
+
request.perform
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -49,6 +49,20 @@ module Crowdin
|
|
49
49
|
request.perform
|
50
50
|
end
|
51
51
|
|
52
|
+
#
|
53
|
+
# Edit project.
|
54
|
+
#
|
55
|
+
# === Parameters
|
56
|
+
#
|
57
|
+
# * +:projectId+ [Integer] - Project Identifier. Get via list_projects. Can be initialized with the Crowdin Client
|
58
|
+
# * +:value+ [String] - String or Array of strings.
|
59
|
+
# * +:op+ [String] - Path operation to perform.
|
60
|
+
# * +:projectId+ [String <json-pointer>] - Enum, for instance '/name'. Full list you can see on the developers site.
|
61
|
+
#
|
62
|
+
# === Example
|
63
|
+
#
|
64
|
+
# crowdin.edit_project(project_id, [{op: 'replace', path: '/name', value: 'your_new_project_name'}])
|
65
|
+
#
|
52
66
|
def edit_project(project_id = nil, query = {})
|
53
67
|
project_id || raise_parameter_is_required_error(:project_id)
|
54
68
|
|
@@ -62,7 +76,7 @@ module Crowdin
|
|
62
76
|
request.perform
|
63
77
|
end
|
64
78
|
|
65
|
-
# For Enterprise mode only
|
79
|
+
# -- For Enterprise mode only --
|
66
80
|
|
67
81
|
def list_groups(query = {})
|
68
82
|
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
@@ -0,0 +1,138 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
module Reports
|
6
|
+
def generate_report(query = {}, project_id = config.project_id)
|
7
|
+
project_id || raise_project_id_is_required_error
|
8
|
+
|
9
|
+
request = Web::Request.new(
|
10
|
+
self,
|
11
|
+
:post,
|
12
|
+
"/projects/#{project_id}/reports",
|
13
|
+
query
|
14
|
+
)
|
15
|
+
|
16
|
+
request.perform
|
17
|
+
end
|
18
|
+
|
19
|
+
def check_report_generation_status(report_id = nil, project_id = config.project_id)
|
20
|
+
report_id || raise_parameter_is_required_error(:report_id)
|
21
|
+
project_id || raise_project_id_is_required_error
|
22
|
+
|
23
|
+
request = Web::Request.new(
|
24
|
+
self,
|
25
|
+
:get,
|
26
|
+
"/projects/#{project_id}/reports/#{report_id}"
|
27
|
+
)
|
28
|
+
|
29
|
+
request.perform
|
30
|
+
end
|
31
|
+
|
32
|
+
def download_report(report_id = nil, destination = nil, project_id = config.project_id)
|
33
|
+
report_id || raise_parameter_is_required_error(:report_id)
|
34
|
+
project_id || raise_project_id_is_required_error
|
35
|
+
|
36
|
+
request = Web::Request.new(
|
37
|
+
self,
|
38
|
+
:get,
|
39
|
+
"/projects/#{project_id}/reports/#{report_id}/download",
|
40
|
+
{},
|
41
|
+
{},
|
42
|
+
destination
|
43
|
+
)
|
44
|
+
|
45
|
+
request.perform
|
46
|
+
end
|
47
|
+
|
48
|
+
# -- For Enterprise mode only --
|
49
|
+
|
50
|
+
def generate_group_report(group_id = nil, query = {})
|
51
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
52
|
+
group_id || raise_parameter_is_required_error(:group_id)
|
53
|
+
|
54
|
+
request = Web::Request.new(
|
55
|
+
self,
|
56
|
+
:post,
|
57
|
+
"/groups/#{group_id}/reports",
|
58
|
+
query
|
59
|
+
)
|
60
|
+
|
61
|
+
request.perform
|
62
|
+
end
|
63
|
+
|
64
|
+
def check_group_report_generation_status(group_id = nil, report_id = nil)
|
65
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
66
|
+
group_id || raise_parameter_is_required_error(:group_id)
|
67
|
+
report_id || raise_parameter_is_required_error(:report_id)
|
68
|
+
|
69
|
+
request = Web::Request.new(
|
70
|
+
self,
|
71
|
+
:get,
|
72
|
+
"/groups/#{group_id}/reports/#{report_id}"
|
73
|
+
)
|
74
|
+
|
75
|
+
request.perform
|
76
|
+
end
|
77
|
+
|
78
|
+
def download_group_report(group_id = nil, report_id = nil, destination = nil)
|
79
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
80
|
+
group_id || raise_parameter_is_required_error(:group_id)
|
81
|
+
report_id || raise_parameter_is_required_error(:report_id)
|
82
|
+
|
83
|
+
request = Web::Request.new(
|
84
|
+
self,
|
85
|
+
:get,
|
86
|
+
"/groups/#{group_id}/reports/#{report_id}/download",
|
87
|
+
{},
|
88
|
+
{},
|
89
|
+
destination
|
90
|
+
)
|
91
|
+
|
92
|
+
request.perform
|
93
|
+
end
|
94
|
+
|
95
|
+
def generate_organization_report(query = {})
|
96
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
97
|
+
|
98
|
+
request = Web::Request.new(
|
99
|
+
self,
|
100
|
+
:post,
|
101
|
+
'/reports',
|
102
|
+
query
|
103
|
+
)
|
104
|
+
|
105
|
+
request.perform
|
106
|
+
end
|
107
|
+
|
108
|
+
def check_organization_report_generation_status(report_id = nil)
|
109
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
110
|
+
report_id || raise_parameter_is_required_error(:report_id)
|
111
|
+
|
112
|
+
request = Web::Request.new(
|
113
|
+
self,
|
114
|
+
:get,
|
115
|
+
"/reports/#{report_id}"
|
116
|
+
)
|
117
|
+
|
118
|
+
request.perform
|
119
|
+
end
|
120
|
+
|
121
|
+
def download_organization_report(report_id = nil, destination = nil)
|
122
|
+
config.enterprise_mode? || raise_only_for_enterprise_mode_error
|
123
|
+
report_id || raise_parameter_is_required_error(:report_id)
|
124
|
+
|
125
|
+
request = Web::Request.new(
|
126
|
+
self,
|
127
|
+
:get,
|
128
|
+
"/reports/#{report_id}/download",
|
129
|
+
{},
|
130
|
+
{},
|
131
|
+
destination
|
132
|
+
)
|
133
|
+
|
134
|
+
request.perform
|
135
|
+
end
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,186 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
module Screenshots
|
6
|
+
def list_screenshots(query = {}, project_id = config.project_id)
|
7
|
+
project_id || raise_project_id_is_required_error
|
8
|
+
|
9
|
+
request = Web::Request.new(
|
10
|
+
self,
|
11
|
+
:get,
|
12
|
+
"/projects/#{project_id}/screenshots",
|
13
|
+
query
|
14
|
+
)
|
15
|
+
|
16
|
+
request.perform
|
17
|
+
end
|
18
|
+
|
19
|
+
def add_screenshot(query = {}, project_id = config.project_id)
|
20
|
+
project_id || raise_project_id_is_required_error
|
21
|
+
|
22
|
+
request = Web::Request.new(
|
23
|
+
self,
|
24
|
+
:post,
|
25
|
+
"/projects/#{project_id}/screenshots",
|
26
|
+
query
|
27
|
+
)
|
28
|
+
|
29
|
+
request.perform
|
30
|
+
end
|
31
|
+
|
32
|
+
def get_screenshot(screenshot_id = nil, project_id = config.project_id)
|
33
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
34
|
+
project_id || raise_project_id_is_required_error
|
35
|
+
|
36
|
+
request = Web::Request.new(
|
37
|
+
self,
|
38
|
+
:get,
|
39
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}"
|
40
|
+
)
|
41
|
+
|
42
|
+
request.perform
|
43
|
+
end
|
44
|
+
|
45
|
+
def update_screenshot(screenshot_id = nil, query = {}, project_id = config.project_id)
|
46
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
47
|
+
project_id || raise_project_id_is_required_error
|
48
|
+
|
49
|
+
request = Web::Request.new(
|
50
|
+
self,
|
51
|
+
:put,
|
52
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}",
|
53
|
+
query
|
54
|
+
)
|
55
|
+
|
56
|
+
request.perform
|
57
|
+
end
|
58
|
+
|
59
|
+
def delete_screenshot(screenshot_id = nil, project_id = config.project_id)
|
60
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
61
|
+
project_id || raise_project_id_is_required_error
|
62
|
+
|
63
|
+
request = Web::Request.new(
|
64
|
+
self,
|
65
|
+
:delete,
|
66
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}"
|
67
|
+
)
|
68
|
+
|
69
|
+
request.perform
|
70
|
+
end
|
71
|
+
|
72
|
+
def edit_screenshot(screenshot_id = nil, query = {}, project_id = config.project_id)
|
73
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
74
|
+
project_id || raise_project_id_is_required_error
|
75
|
+
|
76
|
+
request = Web::Request.new(
|
77
|
+
self,
|
78
|
+
:patch,
|
79
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}",
|
80
|
+
query
|
81
|
+
)
|
82
|
+
|
83
|
+
request.perform
|
84
|
+
end
|
85
|
+
|
86
|
+
def list_tags(screenshot_id = nil, query = {}, project_id = config.project_id)
|
87
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
88
|
+
project_id || raise_project_id_is_required_error
|
89
|
+
|
90
|
+
request = Web::Request.new(
|
91
|
+
self,
|
92
|
+
:get,
|
93
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}/tags",
|
94
|
+
query
|
95
|
+
)
|
96
|
+
|
97
|
+
request.perform
|
98
|
+
end
|
99
|
+
|
100
|
+
# Auto tag
|
101
|
+
def replace_tags(screenshot_id = nil, query = {}, project_id = config.project_id)
|
102
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
103
|
+
project_id || raise_project_id_is_required_error
|
104
|
+
|
105
|
+
request = Web::Request.new(
|
106
|
+
self,
|
107
|
+
:put,
|
108
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}/tags",
|
109
|
+
query
|
110
|
+
)
|
111
|
+
|
112
|
+
request.perform
|
113
|
+
end
|
114
|
+
|
115
|
+
def add_tag(screenshot_id = nil, query = {}, project_id = config.project_id)
|
116
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
117
|
+
project_id || raise_project_id_is_required_error
|
118
|
+
|
119
|
+
request = Web::Request.new(
|
120
|
+
self,
|
121
|
+
:post,
|
122
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}/tags",
|
123
|
+
query
|
124
|
+
)
|
125
|
+
|
126
|
+
request.perform
|
127
|
+
end
|
128
|
+
|
129
|
+
def clear_tags(screenshot_id = nil, project_id = config.project_id)
|
130
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
131
|
+
project_id || raise_project_id_is_required_error
|
132
|
+
|
133
|
+
request = Web::Request.new(
|
134
|
+
self,
|
135
|
+
:delete,
|
136
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}/tags"
|
137
|
+
)
|
138
|
+
|
139
|
+
request.perform
|
140
|
+
end
|
141
|
+
|
142
|
+
def get_tag(screenshot_id = nil, tag_id = nil, project_id = config.project_id)
|
143
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
144
|
+
tag_id || raise_parameter_is_required_error(:tag_id)
|
145
|
+
project_id || raise_project_id_is_required_error
|
146
|
+
|
147
|
+
request = Web::Request.new(
|
148
|
+
self,
|
149
|
+
:get,
|
150
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}/tags/#{tag_id}"
|
151
|
+
)
|
152
|
+
|
153
|
+
request.perform
|
154
|
+
end
|
155
|
+
|
156
|
+
def delete_tag(screenshot_id = nil, tag_id = nil, project_id = config.project_id)
|
157
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
158
|
+
tag_id || raise_parameter_is_required_error(:tag_id)
|
159
|
+
project_id || raise_project_id_is_required_error
|
160
|
+
|
161
|
+
request = Web::Request.new(
|
162
|
+
self,
|
163
|
+
:delete,
|
164
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}/tags/#{tag_id}"
|
165
|
+
)
|
166
|
+
|
167
|
+
request.perform
|
168
|
+
end
|
169
|
+
|
170
|
+
def edit_tag(screenshot_id = nil, tag_id = nil, query = {}, project_id = config.project_id)
|
171
|
+
screenshot_id || raise_parameter_is_required_error(:screenshot_id)
|
172
|
+
tag_id || raise_parameter_is_required_error(:tag_id)
|
173
|
+
project_id || raise_project_id_is_required_error
|
174
|
+
|
175
|
+
request = Web::Request.new(
|
176
|
+
self,
|
177
|
+
:patch,
|
178
|
+
"/projects/#{project_id}/screenshots/#{screenshot_id}/tags/#{tag_id}",
|
179
|
+
query
|
180
|
+
)
|
181
|
+
|
182
|
+
request.perform
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
186
|
+
end
|
@@ -148,6 +148,7 @@ module Crowdin
|
|
148
148
|
request.perform
|
149
149
|
end
|
150
150
|
|
151
|
+
#
|
151
152
|
# Add custom language.
|
152
153
|
#
|
153
154
|
# === Parameters
|
@@ -233,8 +234,7 @@ module Crowdin
|
|
233
234
|
request.perform
|
234
235
|
end
|
235
236
|
|
236
|
-
def download_file(
|
237
|
-
destination || raise_parameter_is_required_error(:destination)
|
237
|
+
def download_file(file_id = nil, destination = nil, project_id = config.project_id)
|
238
238
|
file_id || raise_parameter_is_required_error(:file_id)
|
239
239
|
project_id || raise_project_id_is_required_error
|
240
240
|
|
@@ -250,6 +250,7 @@ module Crowdin
|
|
250
250
|
request.perform
|
251
251
|
end
|
252
252
|
|
253
|
+
#
|
253
254
|
# List file revisions.
|
254
255
|
#
|
255
256
|
# === Parameters
|
@@ -3,6 +3,7 @@
|
|
3
3
|
module Crowdin
|
4
4
|
module ApiResources
|
5
5
|
module Storages
|
6
|
+
#
|
6
7
|
# Get storages list.
|
7
8
|
#
|
8
9
|
# === Parameters
|
@@ -26,11 +27,12 @@ module Crowdin
|
|
26
27
|
request.perform
|
27
28
|
end
|
28
29
|
|
30
|
+
#
|
29
31
|
# Add storage.
|
30
32
|
#
|
31
33
|
# === Parameters
|
32
34
|
#
|
33
|
-
# * +File+ - File class object or path to file
|
35
|
+
# * +File+ - File class object or full path to file
|
34
36
|
#
|
35
37
|
# === Example
|
36
38
|
#
|
@@ -54,6 +56,7 @@ module Crowdin
|
|
54
56
|
request.perform
|
55
57
|
end
|
56
58
|
|
59
|
+
#
|
57
60
|
# Get storage information.
|
58
61
|
#
|
59
62
|
# === Parameters
|
@@ -76,6 +79,7 @@ module Crowdin
|
|
76
79
|
request.perform
|
77
80
|
end
|
78
81
|
|
82
|
+
#
|
79
83
|
# Delete storage.
|
80
84
|
#
|
81
85
|
# === Parameters
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
module StringComments
|
6
|
+
def list_string_comments(query = {}, project_id = config.project_id)
|
7
|
+
project_id || raise_project_id_is_required_error
|
8
|
+
|
9
|
+
request = Web::Request.new(
|
10
|
+
self,
|
11
|
+
:get,
|
12
|
+
"/projects/#{project_id}/comments",
|
13
|
+
query
|
14
|
+
)
|
15
|
+
|
16
|
+
request.perform
|
17
|
+
end
|
18
|
+
|
19
|
+
def add_string_comment(query = {}, project_id = config.project_id)
|
20
|
+
project_id || raise_project_id_is_required_error
|
21
|
+
|
22
|
+
request = Web::Request.new(
|
23
|
+
self,
|
24
|
+
:post,
|
25
|
+
"/projects/#{project_id}/comments",
|
26
|
+
query
|
27
|
+
)
|
28
|
+
|
29
|
+
request.perform
|
30
|
+
end
|
31
|
+
|
32
|
+
def get_string_comment(string_comment_id = nil, project_id = config.project_id)
|
33
|
+
string_comment_id || raise_parameter_is_required_error(:string_comment_id)
|
34
|
+
project_id || raise_project_id_is_required_error
|
35
|
+
|
36
|
+
request = Web::Request.new(
|
37
|
+
self,
|
38
|
+
:get,
|
39
|
+
"/projects/#{project_id}/comments/#{string_comment_id}"
|
40
|
+
)
|
41
|
+
|
42
|
+
request.perform
|
43
|
+
end
|
44
|
+
|
45
|
+
def delete_string_comment(string_comment_id = nil, project_id = config.project_id)
|
46
|
+
string_comment_id || raise_parameter_is_required_error(:string_comment_id)
|
47
|
+
project_id || raise_project_id_is_required_error
|
48
|
+
|
49
|
+
request = Web::Request.new(
|
50
|
+
self,
|
51
|
+
:delete,
|
52
|
+
"/projects/#{project_id}/comments/#{string_comment_id}"
|
53
|
+
)
|
54
|
+
|
55
|
+
request.perform
|
56
|
+
end
|
57
|
+
|
58
|
+
def edit_string_comment(string_comment_id = nil, query = {}, project_id = config.project_id)
|
59
|
+
string_comment_id || raise_parameter_is_required_error(:string_comment_id)
|
60
|
+
project_id || raise_project_id_is_required_error
|
61
|
+
|
62
|
+
request = Web::Request.new(
|
63
|
+
self,
|
64
|
+
:patch,
|
65
|
+
"/projects/#{project_id}/comments/#{string_comment_id}",
|
66
|
+
query
|
67
|
+
)
|
68
|
+
|
69
|
+
request.perform
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|