crowdin-api 1.2.1 → 1.3.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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +96 -31
  3. data/README.md +8 -6
  4. data/bin/crowdin-console +1 -1
  5. data/crowdin-api.gemspec +1 -2
  6. data/lib/crowdin-api/{api-resources → api_resources}/dictionaries.rb +8 -10
  7. data/lib/crowdin-api/{api-resources → api_resources}/distributions.rb +25 -32
  8. data/lib/crowdin-api/{api-resources → api_resources}/glossaries.rb +64 -82
  9. data/lib/crowdin-api/{api-resources → api_resources}/labels.rb +28 -47
  10. data/lib/crowdin-api/api_resources/languages.rb +61 -0
  11. data/lib/crowdin-api/api_resources/machine_translation_engines.rb +79 -0
  12. data/lib/crowdin-api/api_resources/projects.rb +124 -0
  13. data/lib/crowdin-api/api_resources/reports.rb +120 -0
  14. data/lib/crowdin-api/{api-resources → api_resources}/screenshots.rb +47 -61
  15. data/lib/crowdin-api/{api-resources → api_resources}/source_files.rb +68 -131
  16. data/lib/crowdin-api/{api-resources → api_resources}/source_strings.rb +19 -24
  17. data/lib/crowdin-api/api_resources/storages.rb +54 -0
  18. data/lib/crowdin-api/{api-resources → api_resources}/string_comments.rb +18 -23
  19. data/lib/crowdin-api/{api-resources → api_resources}/string_translations.rb +63 -90
  20. data/lib/crowdin-api/{api-resources → api_resources}/tasks.rb +30 -41
  21. data/lib/crowdin-api/api_resources/teams.rb +135 -0
  22. data/lib/crowdin-api/{api-resources → api_resources}/translation_memory.rb +38 -52
  23. data/lib/crowdin-api/{api-resources → api_resources}/translation_status.rb +24 -30
  24. data/lib/crowdin-api/{api-resources → api_resources}/translations.rb +40 -58
  25. data/lib/crowdin-api/api_resources/users.rb +161 -0
  26. data/lib/crowdin-api/api_resources/vendors.rb +21 -0
  27. data/lib/crowdin-api/{api-resources → api_resources}/webhooks.rb +19 -24
  28. data/lib/crowdin-api/api_resources/workflows.rb +59 -0
  29. data/lib/crowdin-api/client/client.rb +51 -42
  30. data/lib/crowdin-api/client/configuration.rb +12 -12
  31. data/lib/crowdin-api/client/version.rb +1 -1
  32. data/lib/crowdin-api/core/errors_raisers.rb +1 -1
  33. data/lib/crowdin-api/core/request.rb +53 -88
  34. data/lib/crowdin-api/core/send_request.rb +67 -0
  35. data/lib/crowdin-api.rb +17 -24
  36. data/spec/api_resources/dictionaries_spec.rb +23 -0
  37. data/spec/api_resources/distributions_spec.rb +71 -0
  38. data/spec/api_resources/glossaries_spec.rb +167 -0
  39. data/spec/api_resources/labels_spec.rb +71 -0
  40. data/spec/api_resources/languages_spec.rb +51 -0
  41. data/spec/api_resources/machine_translation_engines_spec.rb +63 -0
  42. data/spec/api_resources/projects_spec.rb +215 -0
  43. data/spec/api_resources/reports_spec.rb +95 -0
  44. data/spec/api_resources/screenshots_spec.rb +134 -0
  45. data/spec/api_resources/source_files_spec.rb +13 -0
  46. data/spec/api_resources/source_strings_spec.rb +51 -0
  47. data/spec/api_resources/storages_spec.rb +13 -0
  48. data/spec/api_resources/string_comments_spec.rb +13 -0
  49. data/spec/api_resources/string_translations_spec.rb +13 -0
  50. data/spec/api_resources/tasks_spec.rb +79 -0
  51. data/spec/api_resources/teams_spec.rb +13 -0
  52. data/spec/api_resources/translation_memory_spec.rb +13 -0
  53. data/spec/api_resources/translation_status_spec.rb +15 -0
  54. data/spec/api_resources/translations_spec.rb +107 -0
  55. data/spec/api_resources/users_spec.rb +117 -0
  56. data/spec/api_resources/vendors_spec.rb +13 -0
  57. data/spec/api_resources/webhooks_spec.rb +51 -0
  58. data/spec/api_resources/workflows_spec.rb +41 -0
  59. data/spec/spec_helper.rb +20 -2
  60. data/spec/unit/client_spec.rb +85 -0
  61. metadata +64 -43
  62. data/bin/setup +0 -6
  63. data/lib/crowdin-api/api-resources/languages.rb +0 -82
  64. data/lib/crowdin-api/api-resources/machine_translation_engines.rb +0 -74
  65. data/lib/crowdin-api/api-resources/projects.rb +0 -148
  66. data/lib/crowdin-api/api-resources/reports.rb +0 -138
  67. data/lib/crowdin-api/api-resources/storages.rb +0 -106
  68. data/lib/crowdin-api/api-resources/teams.rb +0 -144
  69. data/lib/crowdin-api/api-resources/users.rb +0 -129
  70. data/lib/crowdin-api/api-resources/vendors.rb +0 -21
  71. data/lib/crowdin-api/api-resources/workflows.rb +0 -62
  72. data/lib/crowdin-api/core/utils.rb +0 -10
  73. data/spec/client/client-instance_spec.rb +0 -14
  74. data/spec/client/configuration-instance_spec.rb +0 -72
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Users do
4
+ describe 'Default endpoints' do
5
+ describe '#get_authenticated_user' do
6
+ it 'when request are valid', :default do
7
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/user")
8
+ get_authenticated_user = @crowdin.get_authenticated_user
9
+ expect(get_authenticated_user).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#list_project_members' do
14
+ it 'when request are valid', :default do
15
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/members")
16
+ list_project_members = @crowdin.list_project_members({}, project_id)
17
+ expect(list_project_members).to eq(200)
18
+ end
19
+ end
20
+
21
+ describe '#get_member_info' do
22
+ let(:member_id) { 1 }
23
+
24
+ it 'when request are valid', :default do
25
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/members/#{member_id}")
26
+ get_member_info = @crowdin.get_member_info(member_id, project_id)
27
+ expect(get_member_info).to eq(200)
28
+ end
29
+ end
30
+ end
31
+
32
+ describe 'Enterprise endpoints' do
33
+ describe '#add_project_member' do
34
+ it 'when request are valid', :enterprise do
35
+ stub_request(:post, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/members")
36
+ add_project_member = @crowdin.add_project_member({}, project_id)
37
+ expect(add_project_member).to eq(200)
38
+ end
39
+ end
40
+
41
+ describe '#get_project_member_permissions' do
42
+ let(:member_id) { 1 }
43
+
44
+ it 'when request are valid', :enterprise do
45
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/members/#{member_id}")
46
+ get_project_member_permissions = @crowdin.get_project_member_permissions(member_id, project_id)
47
+ expect(get_project_member_permissions).to eq(200)
48
+ end
49
+ end
50
+
51
+ describe '#replace_project_permissions' do
52
+ let(:member_id) { 1 }
53
+
54
+ it 'when request are valid', :enterprise do
55
+ stub_request(:put, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/members/#{member_id}")
56
+ replace_project_permissions = @crowdin.replace_project_permissions(member_id, {}, project_id)
57
+ expect(replace_project_permissions).to eq(200)
58
+ end
59
+ end
60
+
61
+ describe '#delete_member_from_project' do
62
+ let(:member_id) { 1 }
63
+
64
+ it 'when request are valid', :enterprise do
65
+ stub_request(:delete, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/members/#{member_id}")
66
+ delete_member_from_project = @crowdin.delete_member_from_project(member_id, {}, project_id)
67
+ expect(delete_member_from_project).to eq(200)
68
+ end
69
+ end
70
+
71
+ describe '#list_users' do
72
+ it 'when request are valid', :enterprise do
73
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/users")
74
+ list_users = @crowdin.list_users
75
+ expect(list_users).to eq(200)
76
+ end
77
+ end
78
+
79
+ describe '#invite_user' do
80
+ it 'when request are valid', :enterprise do
81
+ stub_request(:post, "https://domain.api.crowdin.com/#{target_api_url}/users")
82
+ invite_user = @crowdin.invite_user
83
+ expect(invite_user).to eq(200)
84
+ end
85
+ end
86
+
87
+ describe '#get_user' do
88
+ let(:user_id) { 1 }
89
+
90
+ it 'when request are valid', :enterprise do
91
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/users/#{user_id}")
92
+ get_user = @crowdin.get_user(user_id)
93
+ expect(get_user).to eq(200)
94
+ end
95
+ end
96
+
97
+ describe '#delete_user' do
98
+ let(:user_id) { 1 }
99
+
100
+ it 'when request are valid', :enterprise do
101
+ stub_request(:delete, "https://domain.api.crowdin.com/#{target_api_url}/users/#{user_id}")
102
+ delete_user = @crowdin.delete_user(user_id)
103
+ expect(delete_user).to eq(200)
104
+ end
105
+ end
106
+
107
+ describe '#edit_user' do
108
+ let(:user_id) { 1 }
109
+
110
+ it 'when request are valid', :enterprise do
111
+ stub_request(:patch, "https://domain.api.crowdin.com/#{target_api_url}/users/#{user_id}")
112
+ edit_user = @crowdin.edit_user(user_id)
113
+ expect(edit_user).to eq(200)
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Vendors do
4
+ describe 'Enterprise endpoints' do
5
+ describe '#list_vendors' do
6
+ it 'when request are valid', :enterprise do
7
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/vendors")
8
+ list_vendors = @crowdin.list_vendors
9
+ expect(list_vendors).to eq(200)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Webhooks do
4
+ describe 'Default endpoints' do
5
+ describe '#list_webhooks' do
6
+ it 'when request are valid', :default do
7
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/webhooks")
8
+ list_webhooks = @crowdin.list_webhooks({}, project_id)
9
+ expect(list_webhooks).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#add_webhook' do
14
+ it 'when request are valid', :default do
15
+ stub_request(:post, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/webhooks")
16
+ add_webhook = @crowdin.add_webhook({}, project_id)
17
+ expect(add_webhook).to eq(200)
18
+ end
19
+ end
20
+
21
+ describe '#get_webhook' do
22
+ let(:webhook_id) { 1 }
23
+
24
+ it 'when request are valid', :default do
25
+ stub_request(:get, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/webhooks/#{webhook_id}")
26
+ get_webhook = @crowdin.get_webhook(webhook_id, project_id)
27
+ expect(get_webhook).to eq(200)
28
+ end
29
+ end
30
+
31
+ describe '#delete_webhook' do
32
+ let(:webhook_id) { 1 }
33
+
34
+ it 'when request are valid', :default do
35
+ stub_request(:delete, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/webhooks/#{webhook_id}")
36
+ delete_webhook = @crowdin.delete_webhook(webhook_id, project_id)
37
+ expect(delete_webhook).to eq(200)
38
+ end
39
+ end
40
+
41
+ describe '#edit_webhook' do
42
+ let(:webhook_id) { 1 }
43
+
44
+ it 'when request are valid', :default do
45
+ stub_request(:patch, "https://api.crowdin.com/#{target_api_url}/projects/#{project_id}/webhooks/#{webhook_id}")
46
+ edit_webhook = @crowdin.edit_webhook(webhook_id, {}, project_id)
47
+ expect(edit_webhook).to eq(200)
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe Crowdin::ApiResources::Workflows do
4
+ describe 'Enterprise endpoints' do
5
+ describe '#list_workflow_steps' do
6
+ it 'when request are valid', :enterprise do
7
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/workflow-steps")
8
+ list_workflow_steps = @crowdin.list_workflow_steps({}, project_id)
9
+ expect(list_workflow_steps).to eq(200)
10
+ end
11
+ end
12
+
13
+ describe '#get_workflow_step' do
14
+ let(:step_id) { 1 }
15
+
16
+ it 'when request are valid', :enterprise do
17
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/projects/#{project_id}/workflow-steps/#{step_id}")
18
+ get_workflow_step = @crowdin.get_workflow_step(step_id, project_id)
19
+ expect(get_workflow_step).to eq(200)
20
+ end
21
+ end
22
+
23
+ describe '#list_workflow_templates' do
24
+ it 'when request are valid', :enterprise do
25
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/workflow-templates")
26
+ list_workflow_templates = @crowdin.list_workflow_templates
27
+ expect(list_workflow_templates).to eq(200)
28
+ end
29
+ end
30
+
31
+ describe '#get_workflow_template' do
32
+ let(:template_id) { 1 }
33
+
34
+ it 'when request are valid', :enterprise do
35
+ stub_request(:get, "https://domain.api.crowdin.com/#{target_api_url}/workflow-templates/#{template_id}")
36
+ get_workflow_template = @crowdin.get_workflow_template(template_id)
37
+ expect(get_workflow_template).to eq(200)
38
+ end
39
+ end
40
+ end
41
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'simplecov'
4
- SimpleCov.start
5
-
6
4
  require 'codecov'
5
+
6
+ SimpleCov.start
7
7
  SimpleCov.formatter = SimpleCov::Formatter::Codecov
8
8
 
9
+ require 'webmock/rspec'
9
10
  require 'crowdin-api'
11
+
12
+ RSpec.shared_context 'crowdin_client_options' do
13
+ let(:api_token) { 'api_token' }
14
+ let(:project_id) { 1 }
15
+ let(:organization_domain) { 'domain' }
16
+ let(:full_organization_domain) { 'domain.com' }
17
+ let(:target_api_url) { 'api/v2' }
18
+ end
19
+
20
+ RSpec.configure do |config|
21
+ config.include_context 'crowdin_client_options'
22
+
23
+ config.before(:each) do |spec|
24
+ @crowdin = Crowdin::Client.new { |cfg| cfg.organization_domain = 'domain' } if spec.metadata[:enterprise]
25
+ @crowdin = Crowdin::Client.new if spec.metadata[:default]
26
+ end
27
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe 'Crowdin Client' do
4
+ it 'should have a list of API Resources' do
5
+ expect(Crowdin::API_RESOURCES_MODULES).to_not be_nil
6
+ end
7
+
8
+ it 'should have a list of Error Raisers' do
9
+ expect(Crowdin::ERROR_RAISERS_MODULES).to_not be_nil
10
+ end
11
+
12
+ it 'should have a version' do
13
+ expect(Crowdin::Client::VERSION).to_not be_nil
14
+ end
15
+
16
+ describe 'Crowdin Client with a default options' do
17
+ it 'should have a RestClient connection', :default do
18
+ expect(@crowdin.connection.class).to eq(RestClient::Resource)
19
+ end
20
+
21
+ it 'should have options and headers for RestClient', :default do
22
+ expect(@crowdin.options.class).to eq(Hash)
23
+ expect(@crowdin.options).to include(:headers)
24
+ end
25
+
26
+ it 'should have a Config instance', :default do
27
+ expect(@crowdin.config.class).to eq(Crowdin::Configuration)
28
+ end
29
+
30
+ it 'should have a disabled Logger by default', :default do
31
+ expect(@crowdin.logger_enabled?).to be_falsey
32
+ expect(@crowdin.logger).to be_nil
33
+ end
34
+
35
+ it 'should have a disabled Enterprise mode by default', :default do
36
+ expect(@crowdin.enterprise_mode?).to be_falsey
37
+ end
38
+
39
+ it 'should have a default target api url', :default do
40
+ expect(@crowdin.config.target_api_url).to eq('/api/v2')
41
+ end
42
+ it 'should have a default base url', :default do
43
+ expect(@crowdin.config.base_url).to eq('https://api.crowdin.com')
44
+ end
45
+ end
46
+
47
+ describe 'Crowdin Client with enabled Logger' do
48
+ before do
49
+ @crowdin = Crowdin::Client.new do |config|
50
+ config.enable_logger = true
51
+ end
52
+ end
53
+
54
+ it 'should have a Logger instance' do
55
+ expect(@crowdin.logger_enabled?).to be_truthy
56
+ expect(@crowdin.logger.class).to eq(Logger)
57
+ end
58
+ end
59
+
60
+ describe 'Crowdin Client with enabled Enterprise mode' do
61
+ before do
62
+ @crowdin = Crowdin::Client.new do |config|
63
+ config.organization_domain = organization_domain
64
+ end
65
+ end
66
+
67
+ it 'should have a generated Enterprise url' do
68
+ expect(@crowdin.enterprise_mode?).to be_truthy
69
+ expect(@crowdin.config.base_url).to eq("https://#{organization_domain}.api.crowdin.com")
70
+ end
71
+ end
72
+
73
+ describe 'Crowdin Client with enabled Enterprise mode and specified full organization domain' do
74
+ before do
75
+ @crowdin = Crowdin::Client.new do |config|
76
+ config.organization_domain = full_organization_domain
77
+ end
78
+ end
79
+
80
+ it 'should have a generated Enterprise url' do
81
+ expect(@crowdin.enterprise_mode?).to be_truthy
82
+ expect(@crowdin.config.base_url).to eq("https://#{full_organization_domain}")
83
+ end
84
+ end
85
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crowdin-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Crowdin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-10 00:00:00.000000000 Z
11
+ date: 2022-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: open-uri
@@ -84,6 +84,20 @@ dependencies:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
86
  version: 0.6.0
87
+ - !ruby/object:Gem::Dependency
88
+ name: pry
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: 0.14.1
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: 0.14.1
87
101
  - !ruby/object:Gem::Dependency
88
102
  name: rake
89
103
  requirement: !ruby/object:Gem::Requirement
@@ -132,20 +146,6 @@ dependencies:
132
146
  - - "~>"
133
147
  - !ruby/object:Gem::Version
134
148
  version: '1.23'
135
- - !ruby/object:Gem::Dependency
136
- name: sinatra
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - "~>"
140
- - !ruby/object:Gem::Version
141
- version: '2.1'
142
- type: :development
143
- prerelease: false
144
- version_requirements: !ruby/object:Gem::Requirement
145
- requirements:
146
- - - "~>"
147
- - !ruby/object:Gem::Version
148
- version: '2.1'
149
149
  - !ruby/object:Gem::Dependency
150
150
  name: webmock
151
151
  requirement: !ruby/object:Gem::Requirement
@@ -182,42 +182,63 @@ files:
182
182
  - README.md
183
183
  - Rakefile
184
184
  - bin/crowdin-console
185
- - bin/setup
186
185
  - crowdin-api.gemspec
187
186
  - lib/crowdin-api.rb
188
- - lib/crowdin-api/api-resources/dictionaries.rb
189
- - lib/crowdin-api/api-resources/distributions.rb
190
- - lib/crowdin-api/api-resources/glossaries.rb
191
- - lib/crowdin-api/api-resources/labels.rb
192
- - lib/crowdin-api/api-resources/languages.rb
193
- - lib/crowdin-api/api-resources/machine_translation_engines.rb
194
- - lib/crowdin-api/api-resources/projects.rb
195
- - lib/crowdin-api/api-resources/reports.rb
196
- - lib/crowdin-api/api-resources/screenshots.rb
197
- - lib/crowdin-api/api-resources/source_files.rb
198
- - lib/crowdin-api/api-resources/source_strings.rb
199
- - lib/crowdin-api/api-resources/storages.rb
200
- - lib/crowdin-api/api-resources/string_comments.rb
201
- - lib/crowdin-api/api-resources/string_translations.rb
202
- - lib/crowdin-api/api-resources/tasks.rb
203
- - lib/crowdin-api/api-resources/teams.rb
204
- - lib/crowdin-api/api-resources/translation_memory.rb
205
- - lib/crowdin-api/api-resources/translation_status.rb
206
- - lib/crowdin-api/api-resources/translations.rb
207
- - lib/crowdin-api/api-resources/users.rb
208
- - lib/crowdin-api/api-resources/vendors.rb
209
- - lib/crowdin-api/api-resources/webhooks.rb
210
- - lib/crowdin-api/api-resources/workflows.rb
187
+ - lib/crowdin-api/api_resources/dictionaries.rb
188
+ - lib/crowdin-api/api_resources/distributions.rb
189
+ - lib/crowdin-api/api_resources/glossaries.rb
190
+ - lib/crowdin-api/api_resources/labels.rb
191
+ - lib/crowdin-api/api_resources/languages.rb
192
+ - lib/crowdin-api/api_resources/machine_translation_engines.rb
193
+ - lib/crowdin-api/api_resources/projects.rb
194
+ - lib/crowdin-api/api_resources/reports.rb
195
+ - lib/crowdin-api/api_resources/screenshots.rb
196
+ - lib/crowdin-api/api_resources/source_files.rb
197
+ - lib/crowdin-api/api_resources/source_strings.rb
198
+ - lib/crowdin-api/api_resources/storages.rb
199
+ - lib/crowdin-api/api_resources/string_comments.rb
200
+ - lib/crowdin-api/api_resources/string_translations.rb
201
+ - lib/crowdin-api/api_resources/tasks.rb
202
+ - lib/crowdin-api/api_resources/teams.rb
203
+ - lib/crowdin-api/api_resources/translation_memory.rb
204
+ - lib/crowdin-api/api_resources/translation_status.rb
205
+ - lib/crowdin-api/api_resources/translations.rb
206
+ - lib/crowdin-api/api_resources/users.rb
207
+ - lib/crowdin-api/api_resources/vendors.rb
208
+ - lib/crowdin-api/api_resources/webhooks.rb
209
+ - lib/crowdin-api/api_resources/workflows.rb
211
210
  - lib/crowdin-api/client/client.rb
212
211
  - lib/crowdin-api/client/configuration.rb
213
212
  - lib/crowdin-api/client/version.rb
214
213
  - lib/crowdin-api/core/errors.rb
215
214
  - lib/crowdin-api/core/errors_raisers.rb
216
215
  - lib/crowdin-api/core/request.rb
217
- - lib/crowdin-api/core/utils.rb
218
- - spec/client/client-instance_spec.rb
219
- - spec/client/configuration-instance_spec.rb
216
+ - lib/crowdin-api/core/send_request.rb
217
+ - spec/api_resources/dictionaries_spec.rb
218
+ - spec/api_resources/distributions_spec.rb
219
+ - spec/api_resources/glossaries_spec.rb
220
+ - spec/api_resources/labels_spec.rb
221
+ - spec/api_resources/languages_spec.rb
222
+ - spec/api_resources/machine_translation_engines_spec.rb
223
+ - spec/api_resources/projects_spec.rb
224
+ - spec/api_resources/reports_spec.rb
225
+ - spec/api_resources/screenshots_spec.rb
226
+ - spec/api_resources/source_files_spec.rb
227
+ - spec/api_resources/source_strings_spec.rb
228
+ - spec/api_resources/storages_spec.rb
229
+ - spec/api_resources/string_comments_spec.rb
230
+ - spec/api_resources/string_translations_spec.rb
231
+ - spec/api_resources/tasks_spec.rb
232
+ - spec/api_resources/teams_spec.rb
233
+ - spec/api_resources/translation_memory_spec.rb
234
+ - spec/api_resources/translation_status_spec.rb
235
+ - spec/api_resources/translations_spec.rb
236
+ - spec/api_resources/users_spec.rb
237
+ - spec/api_resources/vendors_spec.rb
238
+ - spec/api_resources/webhooks_spec.rb
239
+ - spec/api_resources/workflows_spec.rb
220
240
  - spec/spec_helper.rb
241
+ - spec/unit/client_spec.rb
221
242
  homepage: https://github.com/crowdin/crowdin-api-client-ruby
222
243
  licenses:
223
244
  - MIT
data/bin/setup DELETED
@@ -1,6 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -euo pipefail
4
- IFS=$'\n\t'
5
-
6
- bundle install
@@ -1,82 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Crowdin
4
- module ApiResources
5
- module Languages
6
- def list_languages(query = {})
7
- request = Web::Request.new(
8
- self,
9
- :get,
10
- '/languages',
11
- query
12
- )
13
-
14
- request.perform
15
- end
16
-
17
- #
18
- # Add custom language.
19
- #
20
- # === Parameters
21
- #
22
- # * +:name+ [String] - Language name
23
- # * +:code+ [String] - Custom language code
24
- # * +:localeCode+ [String] - Custom language locale code
25
- # * +:textDirection+ [String ltr/rtl] - Text direction in custom language
26
- # * +:pluralCategoryNames+ [String] - Array with category names
27
- # * +:threeLettersCode+ [String] - Custom language 3 letters code. Format: ISO 6393 code
28
- #
29
- # === Example
30
- #
31
- # crowdin.add_custom_language(name: 'your_name', code: 'your_code' ..)
32
- #
33
- def add_custom_language(query = {})
34
- request = Web::Request.new(
35
- self,
36
- :post,
37
- '/languages',
38
- query
39
- )
40
-
41
- request.perform
42
- end
43
-
44
- def get_language(language_id = nil)
45
- language_id || raise_parameter_is_required_error(:language_id)
46
-
47
- request = Web::Request.new(
48
- self,
49
- :get,
50
- "/languages/#{language_id}"
51
- )
52
-
53
- request.perform
54
- end
55
-
56
- def delete_custom_language(language_id = nil)
57
- language_id || raise_parameter_is_required_error(:language_id)
58
-
59
- request = Web::Request.new(
60
- self,
61
- :delete,
62
- "/languages/#{language_id}"
63
- )
64
-
65
- request.perform
66
- end
67
-
68
- def edit_custom_language(language_id = nil)
69
- language_id || raise_parameter_is_required_error(:language_id)
70
-
71
- request = Web::Request.new(
72
- self,
73
- :patch,
74
- "/languages/#{language_id}",
75
- query
76
- )
77
-
78
- request.perform
79
- end
80
- end
81
- end
82
- end
@@ -1,74 +0,0 @@
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