ruby-lokalise-api 4.5.1 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -3
  3. data/lib/ruby_lokalise_api/base_request.rb +24 -0
  4. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/client.rb +25 -26
  5. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/base.rb +10 -10
  6. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/branch.rb +1 -1
  7. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/contributor.rb +1 -1
  8. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/custom_translation_status.rb +1 -1
  9. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/file.rb +1 -1
  10. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/key.rb +2 -2
  11. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/key_comment.rb +1 -1
  12. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/order.rb +1 -1
  13. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/payment_card.rb +1 -1
  14. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/project.rb +1 -1
  15. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/project_comment.rb +1 -1
  16. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/project_language.rb +1 -1
  17. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/queued_process.rb +1 -1
  18. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/screenshot.rb +1 -1
  19. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/segment.rb +1 -1
  20. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/snapshot.rb +1 -1
  21. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/system_language.rb +1 -1
  22. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/task.rb +1 -1
  23. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/team.rb +1 -1
  24. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/team_user.rb +1 -1
  25. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/team_user_group.rb +1 -1
  26. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/translation.rb +1 -1
  27. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/translation_provider.rb +1 -1
  28. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/collections/webhook.rb +1 -1
  29. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/connection.rb +4 -3
  30. data/lib/ruby_lokalise_api/data/attributes.yml +235 -0
  31. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/error.rb +14 -14
  32. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/json_handler.rb +1 -1
  33. data/lib/ruby_lokalise_api/oauth2/auth.rb +62 -0
  34. data/lib/ruby_lokalise_api/oauth2/connection.rb +25 -0
  35. data/lib/ruby_lokalise_api/oauth2/request.rb +23 -0
  36. data/lib/{ruby-lokalise-api/oauth_client.rb → ruby_lokalise_api/oauth2_client.rb} +2 -2
  37. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/request.rb +5 -16
  38. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/base.rb +8 -8
  39. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/branch.rb +1 -1
  40. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/contributor.rb +1 -1
  41. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/custom_translation_status.rb +1 -1
  42. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/file.rb +2 -2
  43. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/key.rb +1 -1
  44. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/key_comment.rb +1 -1
  45. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/order.rb +1 -1
  46. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/payment_card.rb +1 -1
  47. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/project.rb +1 -1
  48. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/project_comment.rb +1 -1
  49. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/project_language.rb +1 -1
  50. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/queued_process.rb +1 -1
  51. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/screenshot.rb +1 -1
  52. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/segment.rb +1 -1
  53. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/snapshot.rb +2 -2
  54. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/system_language.rb +1 -1
  55. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/task.rb +1 -1
  56. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/team.rb +1 -1
  57. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/team_user.rb +1 -1
  58. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/team_user_billing_details.rb +1 -1
  59. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/team_user_group.rb +1 -1
  60. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/translation.rb +1 -1
  61. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/translation_provider.rb +1 -1
  62. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/resources/webhook.rb +1 -1
  63. data/lib/ruby_lokalise_api/rest/branches.rb +69 -0
  64. data/lib/ruby_lokalise_api/rest/comments.rb +61 -0
  65. data/lib/ruby_lokalise_api/rest/contributors.rb +58 -0
  66. data/lib/ruby_lokalise_api/rest/custom_translation_statuses.rb +67 -0
  67. data/lib/ruby_lokalise_api/rest/files.rb +49 -0
  68. data/lib/ruby_lokalise_api/rest/keys.rb +79 -0
  69. data/lib/ruby_lokalise_api/rest/languages.rb +67 -0
  70. data/lib/ruby_lokalise_api/rest/orders.rb +37 -0
  71. data/lib/ruby_lokalise_api/rest/payment_cards.rb +43 -0
  72. data/lib/ruby_lokalise_api/rest/projects.rb +62 -0
  73. data/lib/ruby_lokalise_api/rest/queued_processes.rb +28 -0
  74. data/lib/ruby_lokalise_api/rest/screenshots.rb +58 -0
  75. data/lib/ruby_lokalise_api/rest/segments.rb +45 -0
  76. data/lib/ruby_lokalise_api/rest/snapshots.rb +47 -0
  77. data/lib/ruby_lokalise_api/rest/tasks.rb +58 -0
  78. data/lib/ruby_lokalise_api/rest/team_user_billing_details.rb +36 -0
  79. data/lib/ruby_lokalise_api/rest/team_user_groups.rb +109 -0
  80. data/lib/ruby_lokalise_api/rest/team_users.rb +48 -0
  81. data/lib/ruby_lokalise_api/rest/teams.rb +16 -0
  82. data/lib/ruby_lokalise_api/rest/translation_providers.rb +27 -0
  83. data/lib/ruby_lokalise_api/rest/translations.rb +39 -0
  84. data/lib/ruby_lokalise_api/rest/webhooks.rb +69 -0
  85. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/utils/attribute_helpers.rb +7 -7
  86. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/utils/endpoint_helpers.rb +1 -1
  87. data/lib/{ruby-lokalise-api → ruby_lokalise_api}/utils/string_utils.rb +1 -1
  88. data/lib/ruby_lokalise_api/version.rb +5 -0
  89. data/lib/ruby_lokalise_api.rb +50 -0
  90. data/ruby-lokalise-api.gemspec +9 -8
  91. metadata +129 -155
  92. data/lib/ruby-lokalise-api/data/attributes.json +0 -259
  93. data/lib/ruby-lokalise-api/rest/branches.rb +0 -67
  94. data/lib/ruby-lokalise-api/rest/comments.rb +0 -59
  95. data/lib/ruby-lokalise-api/rest/contributors.rb +0 -56
  96. data/lib/ruby-lokalise-api/rest/custom_translation_statuses.rb +0 -65
  97. data/lib/ruby-lokalise-api/rest/files.rb +0 -36
  98. data/lib/ruby-lokalise-api/rest/keys.rb +0 -77
  99. data/lib/ruby-lokalise-api/rest/languages.rb +0 -65
  100. data/lib/ruby-lokalise-api/rest/orders.rb +0 -35
  101. data/lib/ruby-lokalise-api/rest/payment_cards.rb +0 -41
  102. data/lib/ruby-lokalise-api/rest/projects.rb +0 -60
  103. data/lib/ruby-lokalise-api/rest/queued_processes.rb +0 -26
  104. data/lib/ruby-lokalise-api/rest/screenshots.rb +0 -56
  105. data/lib/ruby-lokalise-api/rest/segments.rb +0 -43
  106. data/lib/ruby-lokalise-api/rest/snapshots.rb +0 -45
  107. data/lib/ruby-lokalise-api/rest/tasks.rb +0 -56
  108. data/lib/ruby-lokalise-api/rest/team_user_billing_details.rb +0 -34
  109. data/lib/ruby-lokalise-api/rest/team_user_group.rb +0 -107
  110. data/lib/ruby-lokalise-api/rest/team_users.rb +0 -46
  111. data/lib/ruby-lokalise-api/rest/teams.rb +0 -14
  112. data/lib/ruby-lokalise-api/rest/translation_providers.rb +0 -25
  113. data/lib/ruby-lokalise-api/rest/translations.rb +0 -37
  114. data/lib/ruby-lokalise-api/rest/webhooks.rb +0 -67
  115. data/lib/ruby-lokalise-api/version.rb +0 -5
  116. data/lib/ruby-lokalise-api.rb +0 -101
  117. data/spec/lib/ruby-lokalise-api/connection_spec.rb +0 -89
  118. data/spec/lib/ruby-lokalise-api/custom_json_parser_spec.rb +0 -81
  119. data/spec/lib/ruby-lokalise-api/error_spec.rb +0 -41
  120. data/spec/lib/ruby-lokalise-api/rest/branches_spec.rb +0 -140
  121. data/spec/lib/ruby-lokalise-api/rest/comments_spec.rb +0 -118
  122. data/spec/lib/ruby-lokalise-api/rest/contributors_spec.rb +0 -132
  123. data/spec/lib/ruby-lokalise-api/rest/custom_translation_statuses_spec.rb +0 -131
  124. data/spec/lib/ruby-lokalise-api/rest/files_spec.rb +0 -66
  125. data/spec/lib/ruby-lokalise-api/rest/keys_spec.rb +0 -199
  126. data/spec/lib/ruby-lokalise-api/rest/languages_spec.rb +0 -134
  127. data/spec/lib/ruby-lokalise-api/rest/orders_spec.rb +0 -113
  128. data/spec/lib/ruby-lokalise-api/rest/payment_cards_spec.rb +0 -92
  129. data/spec/lib/ruby-lokalise-api/rest/projects_spec.rb +0 -137
  130. data/spec/lib/ruby-lokalise-api/rest/queued_processes_spec.rb +0 -57
  131. data/spec/lib/ruby-lokalise-api/rest/screenshots_spec.rb +0 -127
  132. data/spec/lib/ruby-lokalise-api/rest/segments_spec.rb +0 -106
  133. data/spec/lib/ruby-lokalise-api/rest/snapshots_spec.rb +0 -117
  134. data/spec/lib/ruby-lokalise-api/rest/tasks_spec.rb +0 -145
  135. data/spec/lib/ruby-lokalise-api/rest/team_user_billing_details_spec.rb +0 -48
  136. data/spec/lib/ruby-lokalise-api/rest/team_user_groups_spec.rb +0 -278
  137. data/spec/lib/ruby-lokalise-api/rest/team_users_spec.rb +0 -95
  138. data/spec/lib/ruby-lokalise-api/rest/teams_spec.rb +0 -25
  139. data/spec/lib/ruby-lokalise-api/rest/translation_providers_spec.rb +0 -48
  140. data/spec/lib/ruby-lokalise-api/rest/translations_spec.rb +0 -118
  141. data/spec/lib/ruby-lokalise-api/rest/webhooks_spec.rb +0 -126
  142. data/spec/lib/ruby-lokalise-api_spec.rb +0 -54
  143. data/spec/spec_helper.rb +0 -22
  144. data/spec/support/test_client.rb +0 -11
  145. data/spec/support/vcr.rb +0 -10
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Contributors
6
+ # Returns all contributors for the given project
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-contributors
9
+ # @return [RubyLokaliseApi::Collection::Contributor<RubyLokaliseApi::Resources::Contributor>]
10
+ # @param project_id [String]
11
+ # @param params [Hash]
12
+ def contributors(project_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::Contributor, :all, project_id, params
14
+ end
15
+
16
+ # Returns a single contributor for the given project
17
+ #
18
+ # @see https://developers.lokalise.com/reference/retrieve-a-contributor
19
+ # @return [RubyLokaliseApi::Resources::Contributor]
20
+ # @param project_id [String]
21
+ # @param contributor_id [String, Integer]
22
+ def contributor(project_id, contributor_id)
23
+ c_r RubyLokaliseApi::Resources::Contributor, :find, [project_id, contributor_id]
24
+ end
25
+
26
+ # Creates one or more contributors inside the given project
27
+ #
28
+ # @see https://developers.lokalise.com/reference/create-contributors
29
+ # @return [RubyLokaliseApi::Collection::Contributor<RubyLokaliseApi::Resources::Contributor>]
30
+ # @param project_id [String]
31
+ # @param params [Hash, Array<Hash>]
32
+ def create_contributors(project_id, params)
33
+ c_r RubyLokaliseApi::Resources::Contributor, :create, project_id, params, :contributors
34
+ end
35
+
36
+ # Updates the given contributor inside the given project
37
+ #
38
+ # @see https://developers.lokalise.com/reference/update-a-contributor
39
+ # @return [RubyLokaliseApi::Resources::Contributor]
40
+ # @param project_id [String]
41
+ # @param contributor_id [String, Integer]
42
+ # @param params [Hash]
43
+ def update_contributor(project_id, contributor_id, params)
44
+ c_r RubyLokaliseApi::Resources::Contributor, :update, [project_id, contributor_id], params
45
+ end
46
+
47
+ # Deletes contributor inside the given project
48
+ #
49
+ # @see https://developers.lokalise.com/reference/delete-a-contributor
50
+ # @return [Hash]
51
+ # @param project_id [String]
52
+ # @param contributor_id [String, Integer]
53
+ def destroy_contributor(project_id, contributor_id)
54
+ c_r RubyLokaliseApi::Resources::Contributor, :destroy, [project_id, contributor_id]
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module CustomTranslationStatuses
6
+ # Returns all translation statuses for the given project
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-custom-translation-statuses
9
+ # @return [RubyLokaliseApi::Collection::CustomTranslationStatus<RubyLokaliseApi::Resources::CustomTranslationStatus>]
10
+ # @param project_id [String]
11
+ # @param params [Hash]
12
+ def translation_statuses(project_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::CustomTranslationStatus, :all, project_id, params
14
+ end
15
+
16
+ # Returns a single translation status for the given project
17
+ #
18
+ # @see https://developers.lokalise.com/reference/retrieve-a-custom-translation-status
19
+ # @return [RubyLokaliseApi::Resources::CustomTranslationStatus]
20
+ # @param project_id [String]
21
+ # @param status_id [String, Integer]
22
+ def translation_status(project_id, status_id)
23
+ c_r RubyLokaliseApi::Resources::CustomTranslationStatus, :find, [project_id, status_id]
24
+ end
25
+
26
+ # Creates translation status inside the given project
27
+ #
28
+ # @see https://developers.lokalise.com/reference/create-a-custom-translation-status
29
+ # @return RubyLokaliseApi::Resources::CustomTranslationStatus
30
+ # @param project_id [String]
31
+ # @param params Hash
32
+ def create_translation_status(project_id, params)
33
+ c_r RubyLokaliseApi::Resources::CustomTranslationStatus, :create, project_id, params
34
+ end
35
+
36
+ # Updates the given translation status inside the given project
37
+ #
38
+ # @see https://developers.lokalise.com/reference/update-a-custom-translation-status
39
+ # @return [RubyLokaliseApi::Resources::CustomTranslationStatus]
40
+ # @param project_id [String]
41
+ # @param status_id [String, Integer]
42
+ # @param params [Hash]
43
+ def update_translation_status(project_id, status_id, params)
44
+ c_r RubyLokaliseApi::Resources::CustomTranslationStatus, :update, [project_id, status_id], params
45
+ end
46
+
47
+ # Deletes translation status inside the given project
48
+ #
49
+ # @see https://developers.lokalise.com/reference/delete-a-custom-translation-status
50
+ # @return [Hash]
51
+ # @param project_id [String]
52
+ # @param status_id [String, Integer]
53
+ def destroy_translation_status(project_id, status_id)
54
+ c_r RubyLokaliseApi::Resources::CustomTranslationStatus, :destroy, [project_id, status_id]
55
+ end
56
+
57
+ # Returns an array of available colors that can be assigned to custom translation statuses
58
+ #
59
+ # @see https://developers.lokalise.com/reference/retrieve-available-colors-for-custom-translation-statuses
60
+ # @return [Array]
61
+ # @param project_id [String]
62
+ def translation_status_colors(project_id)
63
+ c_r RubyLokaliseApi::Resources::CustomTranslationStatus, :colors, [project_id, 'colors']
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Files
6
+ # Returns all translation files for the given project
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-files
9
+ # @return [RubyLokaliseApi::Collection::File<RubyLokaliseApi::Resources::File>]
10
+ # @param project_id [String]
11
+ # @param params [Hash]
12
+ def files(project_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::File, :all, project_id, params
14
+ end
15
+
16
+ # Exports translation files as .zip bundle, uploads them to Amazon S3 and returns a URL to the generated bundle. The URL is valid for a year
17
+ #
18
+ # @see https://developers.lokalise.com/reference/download-files
19
+ # @return [Hash]
20
+ # @param project_id [String]
21
+ # @param params [Hash]
22
+ def download_files(project_id, params)
23
+ c_r RubyLokaliseApi::Resources::File, :download, [project_id, 'download'], params
24
+ end
25
+
26
+ # Imports translation file to the given project. File data must base64-encoded.
27
+ # To encode your data in Base64, use `Base64.strict_encode64()` method.
28
+ #
29
+ # @see https://developers.lokalise.com/reference/upload-a-file
30
+ # @return [Hash]
31
+ # @param project_id [String]
32
+ # @param params [Hash]
33
+ def upload_file(project_id, params)
34
+ c_r RubyLokaliseApi::Resources::File, :upload, [project_id, 'upload'], params
35
+ end
36
+
37
+ # Deletes a file and it's associated keys from the project.
38
+ # File __unassigned__ cannot be deleted.
39
+ #
40
+ # @see https://developers.lokalise.com/reference/delete-a-file
41
+ # @return [Hash]
42
+ # @param project_id [String]
43
+ # @param params [Hash]
44
+ def destroy_file(project_id, file_id)
45
+ c_r RubyLokaliseApi::Resources::File, :destroy, [project_id, file_id]
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Keys
6
+ # Returns all translation keys for the given project
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-keys
9
+ # @return [RubyLokaliseApi::Collection::Key<RubyLokaliseApi::Resources::Key>]
10
+ # @param project_id [String]
11
+ # @param params [Hash]
12
+ def keys(project_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::Key, :all, project_id, params
14
+ end
15
+
16
+ # Returns a single translation key for the given project
17
+ #
18
+ # @see https://developers.lokalise.com/reference/retrieve-a-key
19
+ # @return [RubyLokaliseApi::Resources::Key]
20
+ # @param project_id [String]
21
+ # @param key_id [String, Integer]
22
+ # @param params [Hash]
23
+ def key(project_id, key_id, params = {})
24
+ c_r RubyLokaliseApi::Resources::Key, :find, [project_id, key_id], params
25
+ end
26
+
27
+ # Creates one or more translation keys for the given project
28
+ #
29
+ # @see https://developers.lokalise.com/reference/create-keys
30
+ # @return [RubyLokaliseApi::Collection::Key<RubyLokaliseApi::Resources::Key>]
31
+ # @param project_id [String]
32
+ # @param params [Hash, Array<Hash>]
33
+ def create_keys(project_id, params = {})
34
+ c_r RubyLokaliseApi::Resources::Key, :create, project_id, params, :keys
35
+ end
36
+
37
+ # Updates translation key for the given project
38
+ #
39
+ # @see https://developers.lokalise.com/reference/update-a-key
40
+ # @return [RubyLokaliseApi::Resources::Key]
41
+ # @param project_id [String]
42
+ # @param key_id [String, Integer]
43
+ # @param params [Hash]
44
+ def update_key(project_id, key_id, params = {})
45
+ c_r RubyLokaliseApi::Resources::Key, :update, [project_id, key_id], params
46
+ end
47
+
48
+ # Updates one or multiple translation keys for the given project
49
+ #
50
+ # @see https://developers.lokalise.com/reference/bulk-update
51
+ # @return [RubyLokaliseApi::Collection::Key<RubyLokaliseApi::Resources::Key>]
52
+ # @param project_id [String]
53
+ # @param params [Hash, Array<Hash>]
54
+ def update_keys(project_id, params)
55
+ c_r RubyLokaliseApi::Resources::Key, :update, project_id, params, :keys
56
+ end
57
+
58
+ # Deletes translation key for the given project
59
+ #
60
+ # @see https://developers.lokalise.com/reference/delete-a-key
61
+ # @return [Hash]
62
+ # @param project_id [String]
63
+ # @param key_id [String, Integer]
64
+ def destroy_key(project_id, key_id)
65
+ c_r RubyLokaliseApi::Resources::Key, :destroy, [project_id, key_id]
66
+ end
67
+
68
+ # Deletes one or multiple translation keys for the given project
69
+ #
70
+ # @see https://developers.lokalise.com/reference/delete-multiple-keys
71
+ # @return [Hash]
72
+ # @param project_id [String]
73
+ # @param key_ids [String, Integer, Array<String>, Array<Integer>]
74
+ def destroy_keys(project_id, key_ids)
75
+ c_r RubyLokaliseApi::Resources::Key, :destroy, project_id, key_ids, :keys
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Languages
6
+ # Returns all languages supported by Lokalise
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-system-languages
9
+ # @return [RubyLokaliseApi::Collection::SystemLanguage<RubyLokaliseApi::Resources::SystemLanguage>]
10
+ # @param params [Hash]
11
+ def system_languages(params = {})
12
+ c_r RubyLokaliseApi::Collections::SystemLanguage, :all, nil, params
13
+ end
14
+
15
+ # Returns all languages for the given project
16
+ #
17
+ # @see https://developers.lokalise.com/reference/list-project-languages
18
+ # @return [RubyLokaliseApi::Collection::ProjectLanguage<RubyLokaliseApi::Resources::ProjectLanguage>]
19
+ # @param project_id [String, Integer]
20
+ # @param params [Hash]
21
+ def project_languages(project_id, params = {})
22
+ c_r RubyLokaliseApi::Collections::ProjectLanguage, :all, project_id, params
23
+ end
24
+
25
+ # Returns a single language for the given project
26
+ #
27
+ # @see https://developers.lokalise.com/reference/retrieve-a-language
28
+ # @return [RubyLokaliseApi::Resources::ProjectLanguage]
29
+ # @param project_id [String]
30
+ # @param language_id [String, Integer]
31
+ def language(project_id, language_id)
32
+ c_r RubyLokaliseApi::Resources::ProjectLanguage, :find, [project_id, language_id]
33
+ end
34
+
35
+ # Creates one or more language for the given project
36
+ #
37
+ # @see https://developers.lokalise.com/reference/retrieve-a-language
38
+ # @return [RubyLokaliseApi::Collection::ProjectLanguage<RubyLokaliseApi::Resources::ProjectLanguage>]
39
+ # @param project_id [String]
40
+ # @param params [Hash]
41
+ def create_languages(project_id, params)
42
+ c_r RubyLokaliseApi::Resources::ProjectLanguage, :create, project_id, params, :languages
43
+ end
44
+
45
+ # Updates language for the given project
46
+ #
47
+ # @see https://developers.lokalise.com/reference/update-a-language
48
+ # @return [RubyLokaliseApi::Resources::ProjectLanguage]
49
+ # @param project_id [String]
50
+ # @param language_id [String, Integer]
51
+ # @param params [Hash]
52
+ def update_language(project_id, language_id, params)
53
+ c_r RubyLokaliseApi::Resources::ProjectLanguage, :update, [project_id, language_id], params
54
+ end
55
+
56
+ # Deletes language for the given project
57
+ #
58
+ # @see https://developers.lokalise.com/reference/delete-a-language
59
+ # @return [Hash]
60
+ # @param project_id [String]
61
+ # @param language_id [String, Integer]
62
+ def destroy_language(project_id, language_id)
63
+ c_r RubyLokaliseApi::Resources::ProjectLanguage, :destroy, [project_id, language_id]
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Orders
6
+ # Returns all orders for the given team
7
+ #
8
+ # @see https://lokalise.co/api2docs/curl/#transition-list-all-orders-get
9
+ # @return [RubyLokaliseApi::Collection::Order<RubyLokaliseApi::Resources::Order>]
10
+ # @param team_id [String]
11
+ # @param params [Hash]
12
+ def orders(team_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::Order, :all, team_id, params
14
+ end
15
+
16
+ # Returns a single order for the given team
17
+ #
18
+ # @see https://lokalise.co/api2docs/curl/#transition-retrieve-an-order-get
19
+ # @return [RubyLokaliseApi::Resources::Order]
20
+ # @param team_id [String]
21
+ # @param order_id [String, Integer]
22
+ def order(team_id, order_id)
23
+ c_r RubyLokaliseApi::Resources::Order, :find, [team_id, order_id]
24
+ end
25
+
26
+ # Creates an order for the given team
27
+ #
28
+ # @see https://lokalise.co/api2docs/curl/#transition-create-an-order-post
29
+ # @return [RubyLokaliseApi::Resources::Order]
30
+ # @param team_id [String]
31
+ # @param params [Hash]
32
+ def create_order(team_id, params)
33
+ c_r RubyLokaliseApi::Resources::Order, :create, team_id, params
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module PaymentCards
6
+ # Returns all payment cards available to the user authorized with the API token
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-cards
9
+ # @return [RubyLokaliseApi::Collection::PaymentCard<RubyLokaliseApi::Resources::PaymentCard>]
10
+ # @param params [Hash]
11
+ def payment_cards(params = {})
12
+ c_r RubyLokaliseApi::Collections::PaymentCard, :all, nil, params
13
+ end
14
+
15
+ # Returns a single payment card
16
+ #
17
+ # @see https://developers.lokalise.com/reference/retrieve-a-card
18
+ # @return [RubyLokaliseApi::Resources::PaymentCard]
19
+ # @param card_id [String, Integer]
20
+ def payment_card(card_id)
21
+ c_r RubyLokaliseApi::Resources::PaymentCard, :find, card_id
22
+ end
23
+
24
+ # Creates a payment card
25
+ #
26
+ # @see https://lokalise.co/api2docs/curl/#transition-create-a-card-post
27
+ # @return [RubyLokaliseApi::Resources::PaymentCard]
28
+ # @param params [Hash]
29
+ def create_payment_card(params)
30
+ c_r RubyLokaliseApi::Resources::PaymentCard, :create, nil, params
31
+ end
32
+
33
+ # Deletes the payment card
34
+ #
35
+ # @see https://developers.lokalise.com/reference/delete-a-card
36
+ # @return [Hash]
37
+ # @param card_id [String, Integer]
38
+ def destroy_payment_card(card_id)
39
+ c_r RubyLokaliseApi::Resources::PaymentCard, :destroy, card_id
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Projects
6
+ # Returns all projects available to the user authorized with the API token
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-projects
9
+ # @return [RubyLokaliseApi::Collection::Project<RubyLokaliseApi::Resources::Project>]
10
+ # @param params [Hash]
11
+ def projects(params = {})
12
+ c_r RubyLokaliseApi::Collections::Project, :all, nil, params
13
+ end
14
+
15
+ # Returns a single project
16
+ #
17
+ # @see https://developers.lokalise.com/reference/retrieve-a-project
18
+ # @return [RubyLokaliseApi::Resources::Project]
19
+ # @param project_id [String, Integer]
20
+ def project(project_id)
21
+ c_r RubyLokaliseApi::Resources::Project, :find, project_id
22
+ end
23
+
24
+ # Creates project
25
+ #
26
+ # @see https://developers.lokalise.com/reference/create-a-project
27
+ # @return [RubyLokaliseApi::Resources::Project]
28
+ # @param params [Hash]
29
+ def create_project(params)
30
+ c_r RubyLokaliseApi::Resources::Project, :create, nil, params
31
+ end
32
+
33
+ # Updates project
34
+ #
35
+ # @see https://developers.lokalise.com/reference/update-a-project
36
+ # @return [RubyLokaliseApi::Resources::Project]
37
+ # @param project_id [String, Integer]
38
+ # @param params [Hash]
39
+ def update_project(project_id, params)
40
+ c_r RubyLokaliseApi::Resources::Project, :update, project_id, params
41
+ end
42
+
43
+ # Deletes all keys and translations from the project
44
+ #
45
+ # @see https://developers.lokalise.com/reference/empty-a-project
46
+ # @return [Hash]
47
+ # @param project_id [String, Integer]
48
+ def empty_project(project_id)
49
+ c_r RubyLokaliseApi::Resources::Project, :empty, [project_id, 'empty']
50
+ end
51
+
52
+ # Deletes the project
53
+ #
54
+ # @see https://developers.lokalise.com/reference/delete-a-project
55
+ # @return [Hash]
56
+ # @param project_id [String, Integer]
57
+ def destroy_project(project_id)
58
+ c_r RubyLokaliseApi::Resources::Project, :destroy, project_id
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module QueuedProcesses
6
+ # Returns all queued processes for the given project
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-processes
9
+ # @return [RubyLokaliseApi::Collection::QueuedProcess<RubyLokaliseApi::Resources::QueuedProcess>]
10
+ # @param project_id [String]
11
+ # @param params [Hash]
12
+ def queued_processes(project_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::QueuedProcess, :all, project_id, params
14
+ end
15
+
16
+ # Returns a queued process for the given project
17
+ #
18
+ # @see https://developers.lokalise.com/reference/retrieve-a-process
19
+ # @return [RubyLokaliseApi::Resources::QueuedProcess]
20
+ # @param project_id [String]
21
+ # @param process_id [String]
22
+ def queued_process(project_id, process_id)
23
+ c_r RubyLokaliseApi::Resources::QueuedProcess, :find,
24
+ [project_id, process_id]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Screenshots
6
+ # Returns all screenshots for the given project
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-screenshots
9
+ # @return [RubyLokaliseApi::Collection::Screenshot<RubyLokaliseApi::Resources::Screenshot>]
10
+ # @param project_id [String]
11
+ # @param params [Hash]
12
+ def screenshots(project_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::Screenshot, :all, project_id, params
14
+ end
15
+
16
+ # Returns a single screenshot for the given project
17
+ #
18
+ # @see https://developers.lokalise.com/reference/retrieve-a-screenshot
19
+ # @return [RubyLokaliseApi::Resources::Screenshot]
20
+ # @param project_id [String]
21
+ # @param screenshot_id [String, Integer]
22
+ def screenshot(project_id, screenshot_id)
23
+ c_r RubyLokaliseApi::Resources::Screenshot, :find, [project_id, screenshot_id]
24
+ end
25
+
26
+ # Creates one or more screenshots for the given project
27
+ #
28
+ # @see https://developers.lokalise.com/reference/create-screenshots
29
+ # @return [RubyLokaliseApi::Collection::Screenshot<RubyLokaliseApi::Resources::Screenshot>]
30
+ # @param project_id [String]
31
+ # @param params [Hash]
32
+ def create_screenshots(project_id, params = {})
33
+ c_r RubyLokaliseApi::Resources::Screenshot, :create, project_id, params, :screenshots
34
+ end
35
+
36
+ # Updates screenshot
37
+ #
38
+ # @see https://developers.lokalise.com/reference/update-a-screenshot
39
+ # @return [RubyLokaliseApi::Resources::Screenshot]
40
+ # @param project_id [String]
41
+ # @param screenshot_id [String, Integer]
42
+ # @param params [Hash]
43
+ def update_screenshot(project_id, screenshot_id, params = {})
44
+ c_r RubyLokaliseApi::Resources::Screenshot, :update, [project_id, screenshot_id], params
45
+ end
46
+
47
+ # Deletes screenshot
48
+ #
49
+ # @see https://developers.lokalise.com/reference/delete-a-screenshot
50
+ # @return [Hash]
51
+ # @param project_id [String]
52
+ # @param screenshot_id [String, Integer]
53
+ def destroy_screenshot(project_id, screenshot_id)
54
+ c_r RubyLokaliseApi::Resources::Screenshot, :destroy, [project_id, screenshot_id]
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Segments
6
+ # Returns all segments for the given key and language ISO code
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-segments-for-key-language
9
+ # @return [RubyLokaliseApi::Collection::Segments<RubyLokaliseApi::Resources::Segment>]
10
+ # @param project_id [String]
11
+ # @param key_id [String, Integer]
12
+ # @param lang_iso [String]
13
+ # @param params [Hash]
14
+ def segments(project_id, key_id, lang_iso, params = {})
15
+ c_r RubyLokaliseApi::Collections::Segment, :all, [project_id, key_id, lang_iso], params
16
+ end
17
+
18
+ # Returns a segment under a given number for the given key and language ISO code
19
+ #
20
+ # @see https://developers.lokalise.com/reference/retrieve-a-segment-for-key-language
21
+ # @return [RubyLokaliseApi::Resources::Segment]
22
+ # @param project_id [String]
23
+ # @param key_id [String, Integer]
24
+ # @param lang_iso [String]
25
+ # @params segment_number [Integer, String]
26
+ # @param params [Hash]
27
+ def segment(project_id, key_id, lang_iso, segment_number, params = {})
28
+ c_r RubyLokaliseApi::Resources::Segment, :find, [project_id, key_id, lang_iso, segment_number], params
29
+ end
30
+
31
+ # Updates a segment under a given number for the given key and language ISO code
32
+ #
33
+ # @see https://developers.lokalise.com/reference/update-a-segment
34
+ # @return [RubyLokaliseApi::Resources::Segment]
35
+ # @param project_id [String]
36
+ # @param key_id [String, Integer]
37
+ # @param lang_iso [String]
38
+ # @params segment_number [Integer, String]
39
+ # @param params [Hash]
40
+ def update_segment(project_id, key_id, lang_iso, segment_number, params = {})
41
+ c_r RubyLokaliseApi::Resources::Segment, :update, [project_id, key_id, lang_iso, segment_number], params
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Snapshots
6
+ # Returns all snapshots for the given project
7
+ #
8
+ # @see https://developers.lokalise.com/reference/list-all-snapshots
9
+ # @return [RubyLokaliseApi::Collection::Snapshot<RubyLokaliseApi::Resources::Snapshot>]
10
+ # @param project_id [String]
11
+ # @param params [Hash]
12
+ def snapshots(project_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::Snapshot, :all, project_id, params
14
+ end
15
+
16
+ # Creates snapshot for the given project
17
+ #
18
+ # @see https://developers.lokalise.com/reference/create-a-snapshot
19
+ # @return [RubyLokaliseApi::Resources::Snapshot]
20
+ # @param project_id [String]
21
+ # @param params [Hash]
22
+ def create_snapshot(project_id, params = {})
23
+ c_r RubyLokaliseApi::Resources::Snapshot, :create, project_id, params
24
+ end
25
+
26
+ # Restore project from the given snapshot by producing project's copy
27
+ #
28
+ # @see https://developers.lokalise.com/reference/restore-a-snapshot
29
+ # @return [RubyLokaliseApi::Resources::Project]
30
+ # @param project_id [String]
31
+ # @param snapshot_id [String, Integer]
32
+ def restore_snapshot(project_id, snapshot_id)
33
+ c_r RubyLokaliseApi::Resources::Snapshot, :restore, [project_id, snapshot_id]
34
+ end
35
+
36
+ # Deletes snapshot
37
+ #
38
+ # @see https://developers.lokalise.com/reference/delete-a-snapshot
39
+ # @return [Hash]
40
+ # @param project_id [String]
41
+ # @param snapshot_id [String, Integer]
42
+ def destroy_snapshot(project_id, snapshot_id)
43
+ c_r RubyLokaliseApi::Resources::Snapshot, :destroy, [project_id, snapshot_id]
44
+ end
45
+ end
46
+ end
47
+ end