crowdin-api 0.6.0 → 1.0.0
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/build-and-publish.yml +30 -0
- data/.github/workflows/test-and-lint.yml +31 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.rubocop.yml +5 -0
- data/.rubocop_todo.yml +118 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +71 -0
- data/Gemfile +5 -0
- data/LICENSE +1 -1
- data/README.md +104 -282
- data/Rakefile +19 -0
- data/bin/crowdin-console +51 -0
- data/bin/setup +6 -0
- data/crowdin-api.gemspec +30 -0
- data/lib/crowdin-api/api-resources/languages.rb +81 -0
- data/lib/crowdin-api/api-resources/projects.rb +127 -0
- data/lib/crowdin-api/api-resources/source_files.rb +313 -0
- data/lib/crowdin-api/api-resources/storages.rb +102 -0
- data/lib/crowdin-api/api-resources/translation_status.rb +97 -0
- data/lib/crowdin-api/api-resources/translations.rb +166 -0
- data/lib/crowdin-api/client/client.rb +82 -0
- data/lib/crowdin-api/client/configuration.rb +41 -0
- data/lib/crowdin-api/client/version.rb +7 -0
- data/lib/crowdin-api/core/errors.rb +20 -0
- data/lib/crowdin-api/core/payload.rb +26 -0
- data/lib/crowdin-api/core/request.rb +91 -0
- data/lib/crowdin-api.rb +22 -126
- data/spec/core/config-instance_spec.rb +35 -0
- data/spec/crowdin-api_spec.rb +7 -0
- data/spec/spec_helper.rb +3 -0
- metadata +94 -44
- data/lib/crowdin-api/errors.rb +0 -23
- data/lib/crowdin-api/methods.rb +0 -452
- data/lib/crowdin-api/version.rb +0 -5
@@ -0,0 +1,127 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
module Projects
|
6
|
+
def list_projects(query = {})
|
7
|
+
request = Web::Request.new(
|
8
|
+
self,
|
9
|
+
:get,
|
10
|
+
'/projects',
|
11
|
+
query
|
12
|
+
)
|
13
|
+
|
14
|
+
request.perform
|
15
|
+
end
|
16
|
+
|
17
|
+
def add_project(query = {})
|
18
|
+
request = Web::Request.new(
|
19
|
+
self,
|
20
|
+
:post,
|
21
|
+
'/projects',
|
22
|
+
query
|
23
|
+
)
|
24
|
+
|
25
|
+
request.perform
|
26
|
+
end
|
27
|
+
|
28
|
+
def get_project(project_id = nil)
|
29
|
+
project_id || raise(ArgumentError, ':project_id is required')
|
30
|
+
|
31
|
+
request = Web::Request.new(
|
32
|
+
self,
|
33
|
+
:get,
|
34
|
+
"/projects/#{project_id}"
|
35
|
+
)
|
36
|
+
|
37
|
+
request.perform
|
38
|
+
end
|
39
|
+
|
40
|
+
def delete_project(project_id = nil)
|
41
|
+
project_id || raise(ArgumentError, ':project_id is required')
|
42
|
+
|
43
|
+
request = Web::Request.new(
|
44
|
+
self,
|
45
|
+
:delete,
|
46
|
+
"/projects/#{project_id}"
|
47
|
+
)
|
48
|
+
|
49
|
+
request.perform
|
50
|
+
end
|
51
|
+
|
52
|
+
def edit_project(project_id = nil, query = {})
|
53
|
+
project_id || raise(ArgumentError, ':project_id is required')
|
54
|
+
|
55
|
+
request = Web::Request.new(
|
56
|
+
self,
|
57
|
+
:patch,
|
58
|
+
"/projects/#{project_id}",
|
59
|
+
query
|
60
|
+
)
|
61
|
+
|
62
|
+
request.perform
|
63
|
+
end
|
64
|
+
|
65
|
+
# For Enterprise API only
|
66
|
+
|
67
|
+
def list_groups(query = {})
|
68
|
+
request = Web::Request.new(
|
69
|
+
self,
|
70
|
+
:get,
|
71
|
+
'/groups',
|
72
|
+
query
|
73
|
+
)
|
74
|
+
|
75
|
+
request.perform
|
76
|
+
end
|
77
|
+
|
78
|
+
def add_group(query = {})
|
79
|
+
request = Web::Request.new(
|
80
|
+
self,
|
81
|
+
:post,
|
82
|
+
'/groups',
|
83
|
+
query
|
84
|
+
)
|
85
|
+
|
86
|
+
request.perform
|
87
|
+
end
|
88
|
+
|
89
|
+
def get_group(group_id = nil)
|
90
|
+
group_id || raise(ArgumentError, ':group_id is required')
|
91
|
+
|
92
|
+
request = Web::Request.new(
|
93
|
+
self,
|
94
|
+
:get,
|
95
|
+
"/groups/#{group_id}"
|
96
|
+
)
|
97
|
+
|
98
|
+
request.perform
|
99
|
+
end
|
100
|
+
|
101
|
+
def delete_group(group_id = nil)
|
102
|
+
group_id || raise(ArgumentError, ':group_id is required')
|
103
|
+
|
104
|
+
request = Web::Request.new(
|
105
|
+
self,
|
106
|
+
:delete,
|
107
|
+
"/groups/#{group_id}"
|
108
|
+
)
|
109
|
+
|
110
|
+
request.perform
|
111
|
+
end
|
112
|
+
|
113
|
+
def edit_group(group_id = nil, query = {})
|
114
|
+
group_id || raise(ArgumentError, ':group_id is required')
|
115
|
+
|
116
|
+
request = Web::Request.new(
|
117
|
+
self,
|
118
|
+
:patch,
|
119
|
+
"/groups/#{group_id}",
|
120
|
+
query
|
121
|
+
)
|
122
|
+
|
123
|
+
request.perform
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -0,0 +1,313 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
module SourceFiles
|
6
|
+
def list_branches(query = {}, project_id = config.project_id)
|
7
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
8
|
+
|
9
|
+
request = Web::Request.new(
|
10
|
+
self,
|
11
|
+
:get,
|
12
|
+
"/projects/#{project_id}/branches",
|
13
|
+
query
|
14
|
+
)
|
15
|
+
|
16
|
+
request.perform
|
17
|
+
end
|
18
|
+
|
19
|
+
def add_branch(query = {}, project_id = config.project_id)
|
20
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
21
|
+
|
22
|
+
request = Web::Request.new(
|
23
|
+
self,
|
24
|
+
:post,
|
25
|
+
"/projects/#{project_id}/branches",
|
26
|
+
query
|
27
|
+
)
|
28
|
+
|
29
|
+
request.perform
|
30
|
+
end
|
31
|
+
|
32
|
+
def get_branch(branch_id = nil, project_id = config.project_id)
|
33
|
+
branch_id || raise(ArgumentError, ':branch_id is required')
|
34
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
35
|
+
|
36
|
+
request = Web::Request.new(
|
37
|
+
self,
|
38
|
+
:get,
|
39
|
+
"/projects/#{project_id}/branches/#{branch_id}"
|
40
|
+
)
|
41
|
+
|
42
|
+
request.perform
|
43
|
+
end
|
44
|
+
|
45
|
+
def delete_branch(branch_id = nil, project_id = config.project_id)
|
46
|
+
branch_id || raise(ArgumentError, ':branch_id is required')
|
47
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
48
|
+
|
49
|
+
request = Web::Request.new(
|
50
|
+
self,
|
51
|
+
:delete,
|
52
|
+
"/projects/#{project_id}/branches/#{branch_id}"
|
53
|
+
)
|
54
|
+
|
55
|
+
request.perform
|
56
|
+
end
|
57
|
+
|
58
|
+
def edit_branch(branch_id = nil, query = {})
|
59
|
+
project_id = query[:project_id] || config.project_id
|
60
|
+
|
61
|
+
branch_id || raise(ArgumentError, ':branch_id is required')
|
62
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
63
|
+
|
64
|
+
request = Web::Request.new(
|
65
|
+
self,
|
66
|
+
:patch,
|
67
|
+
"/projects/#{project_id}/branches/#{branch_id}",
|
68
|
+
query
|
69
|
+
)
|
70
|
+
|
71
|
+
request.perform
|
72
|
+
end
|
73
|
+
|
74
|
+
def list_directories(query = {}, project_id = config.project_id)
|
75
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
76
|
+
|
77
|
+
request = Web::Request.new(
|
78
|
+
self,
|
79
|
+
:get,
|
80
|
+
"/projects/#{project_id}/directories",
|
81
|
+
query
|
82
|
+
)
|
83
|
+
|
84
|
+
request.perform
|
85
|
+
end
|
86
|
+
|
87
|
+
def add_directory(query = {}, project_id = config.project_id)
|
88
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
89
|
+
|
90
|
+
request = Web::Request.new(
|
91
|
+
self,
|
92
|
+
:post,
|
93
|
+
"/projects/#{project_id}/directories",
|
94
|
+
query
|
95
|
+
)
|
96
|
+
|
97
|
+
request.perform
|
98
|
+
end
|
99
|
+
|
100
|
+
def get_directory(directory_id = nil, project_id = config.project_id)
|
101
|
+
directory_id || raise(ArgumentError, ':directory_id is required')
|
102
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
103
|
+
|
104
|
+
request = Web::Request.new(
|
105
|
+
self,
|
106
|
+
:get,
|
107
|
+
"/projects/#{project_id}/directories/#{directory_id}"
|
108
|
+
)
|
109
|
+
|
110
|
+
request.perform
|
111
|
+
end
|
112
|
+
|
113
|
+
def delete_directory(directory_id = nil, project_id = config.project_id)
|
114
|
+
directory_id || raise(ArgumentError, ':directory_id is required')
|
115
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
116
|
+
|
117
|
+
request = Web::Request.new(
|
118
|
+
self,
|
119
|
+
:delete,
|
120
|
+
"/projects/#{project_id}/directories/#{directory_id}"
|
121
|
+
)
|
122
|
+
|
123
|
+
request.perform
|
124
|
+
end
|
125
|
+
|
126
|
+
def edit_directory(directory_id = nil, query = {})
|
127
|
+
project_id = query[:project_id] || config.project_id
|
128
|
+
|
129
|
+
directory_id || raise(ArgumentError, ':directory_id is required')
|
130
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
131
|
+
|
132
|
+
request = Web::Request.new(
|
133
|
+
self,
|
134
|
+
:patch,
|
135
|
+
"/projects/#{project_id}/directories/#{directory_id}",
|
136
|
+
query
|
137
|
+
)
|
138
|
+
|
139
|
+
request.perform
|
140
|
+
end
|
141
|
+
|
142
|
+
def list_files(query = {}, project_id = config.project_id)
|
143
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
144
|
+
|
145
|
+
request = Web::Request.new(
|
146
|
+
self,
|
147
|
+
:get,
|
148
|
+
"/projects/#{project_id}/files",
|
149
|
+
query
|
150
|
+
)
|
151
|
+
|
152
|
+
request.perform
|
153
|
+
end
|
154
|
+
|
155
|
+
# Add custom language.
|
156
|
+
#
|
157
|
+
# === Parameters
|
158
|
+
#
|
159
|
+
# * +:projectId+ [Integer] - Project Identifier. Get via list_projects. Can be initialized with the Crowdin Client
|
160
|
+
# * +:storageId+ [Integer] - Storage Identifier. Get via list_storages
|
161
|
+
# * +:name+ [String] - File name. Note: Can't contain \ / : * ? " < > | symbols. ZIP files are not allowed.
|
162
|
+
#
|
163
|
+
# === Example
|
164
|
+
#
|
165
|
+
# when you're initialized Crowdin Client with a project_id
|
166
|
+
#
|
167
|
+
# crowdin.add_file(storage_id: your_storage_id, name: 'your_filename')
|
168
|
+
#
|
169
|
+
# or you can use the specified project_id
|
170
|
+
#
|
171
|
+
# crowdin.add_file({}, your_project_id)
|
172
|
+
#
|
173
|
+
def add_file(query = {}, project_id = config.project_id)
|
174
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
175
|
+
|
176
|
+
request = Web::Request.new(
|
177
|
+
self,
|
178
|
+
:post,
|
179
|
+
"/projects/#{project_id}/files",
|
180
|
+
query
|
181
|
+
)
|
182
|
+
|
183
|
+
request.perform
|
184
|
+
end
|
185
|
+
|
186
|
+
def get_file(file_id = nil, project_id = config.project_id)
|
187
|
+
file_id || raise(ArgumentError, ':file_id is required')
|
188
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
189
|
+
|
190
|
+
request = Web::Request.new(
|
191
|
+
self,
|
192
|
+
:get,
|
193
|
+
"/projects/#{project_id}/files/#{file_id}"
|
194
|
+
)
|
195
|
+
|
196
|
+
request.perform
|
197
|
+
end
|
198
|
+
|
199
|
+
def update_or_restore_file(file_id = nil, query = {})
|
200
|
+
project_id = query[:project_id] || config.project_id
|
201
|
+
|
202
|
+
file_id || raise(ArgumentError, ':file_id is required')
|
203
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
204
|
+
|
205
|
+
request = Web::Request.new(
|
206
|
+
self,
|
207
|
+
:put,
|
208
|
+
"/projects/#{project_id}/files/#{file_id}",
|
209
|
+
query
|
210
|
+
)
|
211
|
+
|
212
|
+
request.perform
|
213
|
+
end
|
214
|
+
|
215
|
+
def delete_file(file_id = nil, project_id = config.project_id)
|
216
|
+
file_id || raise(ArgumentError, ':file_id is required')
|
217
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
218
|
+
|
219
|
+
request = Web::Request.new(
|
220
|
+
self,
|
221
|
+
:delete,
|
222
|
+
"/projects/#{project_id}/files/#{file_id}"
|
223
|
+
)
|
224
|
+
|
225
|
+
request.perform
|
226
|
+
end
|
227
|
+
|
228
|
+
def edit_file(file_id = nil, query = {})
|
229
|
+
project_id = query[:project_id] || config.project_id
|
230
|
+
|
231
|
+
file_id || raise(ArgumentError, ':file_id is required')
|
232
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
233
|
+
|
234
|
+
request = Web::Request.new(
|
235
|
+
self,
|
236
|
+
:patch,
|
237
|
+
"/projects/#{project_id}/files/#{file_id}",
|
238
|
+
query
|
239
|
+
)
|
240
|
+
|
241
|
+
request.perform
|
242
|
+
end
|
243
|
+
|
244
|
+
def download_file(destination = nil, file_id = nil, project_id = config.project_id)
|
245
|
+
destination || raise(ArgumentError, ':destination is required for downlaods')
|
246
|
+
file_id || raise(ArgumentError, ':file_id is required')
|
247
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
248
|
+
|
249
|
+
request = Web::Request.new(
|
250
|
+
self,
|
251
|
+
:get,
|
252
|
+
"/projects/#{project_id}/files/#{file_id}/download",
|
253
|
+
{},
|
254
|
+
{},
|
255
|
+
destination
|
256
|
+
)
|
257
|
+
|
258
|
+
request.perform
|
259
|
+
end
|
260
|
+
|
261
|
+
# List file revisions.
|
262
|
+
#
|
263
|
+
# === Parameters
|
264
|
+
#
|
265
|
+
# * +:projectId+ [Integer] - Project Identifier. Get via list_projects. Can be initialized with the Crowdin Client
|
266
|
+
# * +:fileId+ [Integer] - File Identifier. Get via list_files
|
267
|
+
#
|
268
|
+
# Optional:
|
269
|
+
# * +:limit+ [Integer 1..500] - A maximum number of items to retrieve, default - 25
|
270
|
+
# * +:offset+ [Integer >= 0] - A starting offset in the collection, default - 0
|
271
|
+
#
|
272
|
+
# === Example
|
273
|
+
#
|
274
|
+
# when you're initialized Crowdin Client with a project_id
|
275
|
+
#
|
276
|
+
# crowdin.list_file_revisions(your_file_id, { limit: your_value })
|
277
|
+
#
|
278
|
+
# or you can use the specified project_id
|
279
|
+
#
|
280
|
+
# crowdin.list_file_revisions(your_file_id, { project_id: your_project_id ..})
|
281
|
+
#
|
282
|
+
def list_file_revisions(file_id = nil, query = {})
|
283
|
+
project_id = query[:project_id] || config.project_id
|
284
|
+
|
285
|
+
file_id || raise(ArgumentError, ':file_id is required')
|
286
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
287
|
+
|
288
|
+
request = Web::Request.new(
|
289
|
+
self,
|
290
|
+
:get,
|
291
|
+
"/projects/#{project_id}/files/#{file_id}/revisions",
|
292
|
+
query
|
293
|
+
)
|
294
|
+
|
295
|
+
request.perform
|
296
|
+
end
|
297
|
+
|
298
|
+
def get_file_revision(file_id = nil, revision_id = nil, project_id = config.project_id)
|
299
|
+
file_id || raise(ArgumentError, ':file_id is required')
|
300
|
+
revision_id || raise(ArgumentError, ':revision_id is required')
|
301
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
302
|
+
|
303
|
+
request = Web::Request.new(
|
304
|
+
self,
|
305
|
+
:get,
|
306
|
+
"/projects/#{project_id}/files/#{file_id}/revisions/#{revision_id}"
|
307
|
+
)
|
308
|
+
|
309
|
+
request.perform
|
310
|
+
end
|
311
|
+
end
|
312
|
+
end
|
313
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
module Storages
|
6
|
+
# Get storages list.
|
7
|
+
#
|
8
|
+
# === Parameters
|
9
|
+
#
|
10
|
+
# Optional:
|
11
|
+
# * +:limit+ [Integer 1..500] - A maximum number of items to retrieve, default - 25
|
12
|
+
# * +:offset+ [Integer >= 0] - A starting offset in the collection, default - 0
|
13
|
+
#
|
14
|
+
# === Example
|
15
|
+
#
|
16
|
+
# crowdin.list_projects(limit: your_value)
|
17
|
+
#
|
18
|
+
def list_storages(query = {})
|
19
|
+
request = Web::Request.new(
|
20
|
+
self,
|
21
|
+
:get,
|
22
|
+
'/storages',
|
23
|
+
query
|
24
|
+
)
|
25
|
+
|
26
|
+
request.perform
|
27
|
+
end
|
28
|
+
|
29
|
+
# Add storage.
|
30
|
+
#
|
31
|
+
# === Parameters
|
32
|
+
#
|
33
|
+
# * +File+ - File class object or path to file
|
34
|
+
#
|
35
|
+
# === Example
|
36
|
+
#
|
37
|
+
# crowdin.add_storage(File.open('your_filename.extension'))
|
38
|
+
# or
|
39
|
+
# crowdin.add_storage('your_filename.extension')
|
40
|
+
#
|
41
|
+
def add_storage(file = nil)
|
42
|
+
file || raise(ArgumentError, ':file is required')
|
43
|
+
|
44
|
+
file = file.is_a?(File) ? file : File.open(file)
|
45
|
+
|
46
|
+
request = Web::Request.new(
|
47
|
+
self,
|
48
|
+
:post,
|
49
|
+
'/storages',
|
50
|
+
file,
|
51
|
+
{ 'Content-Type' => 'application/octet-stream', 'Crowdin-API-FileName' => File.basename(file) }
|
52
|
+
)
|
53
|
+
|
54
|
+
request.perform
|
55
|
+
end
|
56
|
+
|
57
|
+
# Get storage information.
|
58
|
+
#
|
59
|
+
# === Parameters
|
60
|
+
#
|
61
|
+
# * +:storage_id+ [Integer] - Storage Identifier. Get via list_storages
|
62
|
+
#
|
63
|
+
# === Example
|
64
|
+
#
|
65
|
+
# crowdin.get_storage(your_storage_id)
|
66
|
+
#
|
67
|
+
def get_storage(storage_id = nil)
|
68
|
+
storage_id || raise(ArgumentError, ':storage_id is required')
|
69
|
+
|
70
|
+
request = Web::Request.new(
|
71
|
+
self,
|
72
|
+
:get,
|
73
|
+
"/storages/#{storage_id}"
|
74
|
+
)
|
75
|
+
|
76
|
+
request.perform
|
77
|
+
end
|
78
|
+
|
79
|
+
# Delete storage.
|
80
|
+
#
|
81
|
+
# === Parameters
|
82
|
+
#
|
83
|
+
# * +:storage_id+ [Integer] - Storage Identifier. Get via list_storages
|
84
|
+
#
|
85
|
+
# === Example
|
86
|
+
#
|
87
|
+
# crowdin.delete_storage(your_storage_id)
|
88
|
+
#
|
89
|
+
def delete_storage(storage_id = nil)
|
90
|
+
storage_id || raise(ArgumentError, ':storage_id is required')
|
91
|
+
|
92
|
+
request = Web::Request.new(
|
93
|
+
self,
|
94
|
+
:delete,
|
95
|
+
"/storages/#{storage_id}"
|
96
|
+
)
|
97
|
+
|
98
|
+
request.perform
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Crowdin
|
4
|
+
module ApiResources
|
5
|
+
module TranslationStatus
|
6
|
+
def get_branch_progress(branch_id = nil, query = {})
|
7
|
+
project_id = query[:project_id] || config.project_id
|
8
|
+
|
9
|
+
branch_id || raise(ArgumentError, ':file_id is required')
|
10
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
11
|
+
|
12
|
+
request = Web::Request.new(
|
13
|
+
self,
|
14
|
+
:get,
|
15
|
+
"/projects/#{project_id}/branches/#{branch_id}/languages/progress",
|
16
|
+
query
|
17
|
+
)
|
18
|
+
|
19
|
+
request.perform
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_directory_progress(directory_id = nil, query = {})
|
23
|
+
project_id = query[:project_id] || config.project_id
|
24
|
+
|
25
|
+
directory_id || raise(ArgumentError, ':directory_id is required')
|
26
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
27
|
+
|
28
|
+
request = Web::Request.new(
|
29
|
+
self,
|
30
|
+
:get,
|
31
|
+
"/projects/#{project_id}/directories/#{directory_id}/languages/progress",
|
32
|
+
query
|
33
|
+
)
|
34
|
+
|
35
|
+
request.perform
|
36
|
+
end
|
37
|
+
|
38
|
+
def get_file_progress(file_id = nil, query = {})
|
39
|
+
project_id = query[:project_id] || config.project_id
|
40
|
+
|
41
|
+
file_id || raise(ArgumentError, ':file_id is required')
|
42
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
43
|
+
|
44
|
+
request = Web::Request.new(
|
45
|
+
self,
|
46
|
+
:get,
|
47
|
+
"/projects/#{project_id}/files/#{file_id}/languages/progress",
|
48
|
+
query
|
49
|
+
)
|
50
|
+
|
51
|
+
request.perform
|
52
|
+
end
|
53
|
+
|
54
|
+
def get_language_progress(language_id = nil, query = {})
|
55
|
+
project_id = query[:project_id] || config.project_id
|
56
|
+
|
57
|
+
language_id || raise(ArgumentError, ':language_id is required')
|
58
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
59
|
+
|
60
|
+
request = Web::Request.new(
|
61
|
+
self,
|
62
|
+
:get,
|
63
|
+
"/projects/#{project_id}/languages/#{language_id}/progress",
|
64
|
+
query
|
65
|
+
)
|
66
|
+
|
67
|
+
request.perform
|
68
|
+
end
|
69
|
+
|
70
|
+
def get_project_progress(query = {}, project_id = config.project_id)
|
71
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
72
|
+
|
73
|
+
request = Web::Request.new(
|
74
|
+
self,
|
75
|
+
:get,
|
76
|
+
"/projects/#{project_id}/languages/progress",
|
77
|
+
query
|
78
|
+
)
|
79
|
+
|
80
|
+
request.perform
|
81
|
+
end
|
82
|
+
|
83
|
+
def get_qa_progress(query = {}, project_id = config.project_id)
|
84
|
+
project_id || raise(ArgumentError, ':project_id is required in parameters or when initialize Client')
|
85
|
+
|
86
|
+
request = Web::Request.new(
|
87
|
+
self,
|
88
|
+
:get,
|
89
|
+
"/projects/#{project_id}/qa-checks",
|
90
|
+
query
|
91
|
+
)
|
92
|
+
|
93
|
+
request.perform
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|