ruby-lokalise-api 4.5.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) 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 +15 -15
  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 +38 -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 +8 -7
  91. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/branches_spec.rb +13 -13
  92. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/comments_spec.rb +7 -7
  93. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/contributors_spec.rb +11 -11
  94. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/custom_translation_statuses_spec.rb +7 -7
  95. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/files_spec.rb +2 -2
  96. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/keys_spec.rb +15 -15
  97. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/languages_spec.rb +6 -6
  98. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/orders_spec.rb +1 -1
  99. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/payment_cards_spec.rb +7 -7
  100. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/projects_spec.rb +24 -11
  101. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/queued_processes_spec.rb +1 -1
  102. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/screenshots_spec.rb +5 -5
  103. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/segments_spec.rb +4 -4
  104. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/snapshots_spec.rb +9 -9
  105. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/tasks_spec.rb +14 -14
  106. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/team_user_billing_details_spec.rb +1 -1
  107. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/team_user_groups_spec.rb +7 -7
  108. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/team_users_spec.rb +4 -4
  109. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/teams_spec.rb +1 -1
  110. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/translation_providers_spec.rb +2 -2
  111. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/translations_spec.rb +11 -11
  112. data/spec/lib/{ruby-lokalise-api/rest → ruby_lokalise_api/client}/webhooks_spec.rb +2 -2
  113. data/spec/lib/ruby_lokalise_api/connection_spec.rb +68 -0
  114. data/spec/lib/{ruby-lokalise-api → ruby_lokalise_api}/custom_json_parser_spec.rb +3 -3
  115. data/spec/lib/{ruby-lokalise-api → ruby_lokalise_api}/error_spec.rb +10 -10
  116. data/spec/lib/ruby_lokalise_api/oauth2/auth_spec.rb +73 -0
  117. data/spec/lib/ruby_lokalise_api_spec.rb +47 -0
  118. data/spec/spec_helper.rb +1 -1
  119. data/spec/support/test_client.rb +7 -3
  120. data/spec/support/vcr.rb +5 -0
  121. metadata +168 -148
  122. data/lib/ruby-lokalise-api/data/attributes.json +0 -259
  123. data/lib/ruby-lokalise-api/rest/branches.rb +0 -67
  124. data/lib/ruby-lokalise-api/rest/comments.rb +0 -59
  125. data/lib/ruby-lokalise-api/rest/contributors.rb +0 -56
  126. data/lib/ruby-lokalise-api/rest/custom_translation_statuses.rb +0 -65
  127. data/lib/ruby-lokalise-api/rest/files.rb +0 -36
  128. data/lib/ruby-lokalise-api/rest/keys.rb +0 -77
  129. data/lib/ruby-lokalise-api/rest/languages.rb +0 -65
  130. data/lib/ruby-lokalise-api/rest/orders.rb +0 -35
  131. data/lib/ruby-lokalise-api/rest/payment_cards.rb +0 -41
  132. data/lib/ruby-lokalise-api/rest/projects.rb +0 -60
  133. data/lib/ruby-lokalise-api/rest/queued_processes.rb +0 -26
  134. data/lib/ruby-lokalise-api/rest/screenshots.rb +0 -56
  135. data/lib/ruby-lokalise-api/rest/segments.rb +0 -43
  136. data/lib/ruby-lokalise-api/rest/snapshots.rb +0 -45
  137. data/lib/ruby-lokalise-api/rest/tasks.rb +0 -56
  138. data/lib/ruby-lokalise-api/rest/team_user_billing_details.rb +0 -34
  139. data/lib/ruby-lokalise-api/rest/team_user_group.rb +0 -107
  140. data/lib/ruby-lokalise-api/rest/team_users.rb +0 -46
  141. data/lib/ruby-lokalise-api/rest/teams.rb +0 -14
  142. data/lib/ruby-lokalise-api/rest/translation_providers.rb +0 -25
  143. data/lib/ruby-lokalise-api/rest/translations.rb +0 -37
  144. data/lib/ruby-lokalise-api/rest/webhooks.rb +0 -67
  145. data/lib/ruby-lokalise-api/version.rb +0 -5
  146. data/lib/ruby-lokalise-api.rb +0 -101
  147. data/spec/lib/ruby-lokalise-api/connection_spec.rb +0 -89
  148. data/spec/lib/ruby-lokalise-api_spec.rb +0 -54
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all segments for the given key and language ISO code
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-list-all-segments-for-key-language-get
8
- # @return [Lokalise::Collection::Segments<Lokalise::Resources::Segment>]
9
- # @param project_id [String]
10
- # @param key_id [String, Integer]
11
- # @param lang_iso [String]
12
- # @param params [Hash]
13
- def segments(project_id, key_id, lang_iso, params = {})
14
- c_r Lokalise::Collections::Segment, :all, [project_id, key_id, lang_iso], params
15
- end
16
-
17
- # Returns a segment under a given number for the given key and language ISO code
18
- #
19
- # @see https://app.lokalise.com/api2docs/curl/#transition-retrieve-a-segment-for-key-language-get
20
- # @return [Lokalise::Resources::Segment]
21
- # @param project_id [String]
22
- # @param key_id [String, Integer]
23
- # @param lang_iso [String]
24
- # @params segment_number [Integer, String]
25
- # @param params [Hash]
26
- def segment(project_id, key_id, lang_iso, segment_number, params = {})
27
- c_r Lokalise::Resources::Segment, :find, [project_id, key_id, lang_iso, segment_number], params
28
- end
29
-
30
- # Updates a segment under a given number for the given key and language ISO code
31
- #
32
- # @see https://app.lokalise.com/api2docs/curl/#transition-update-a-segment-post
33
- # @return [Lokalise::Resources::Segment]
34
- # @param project_id [String]
35
- # @param key_id [String, Integer]
36
- # @param lang_iso [String]
37
- # @params segment_number [Integer, String]
38
- # @param params [Hash]
39
- def update_segment(project_id, key_id, lang_iso, segment_number, params = {})
40
- c_r Lokalise::Resources::Segment, :update, [project_id, key_id, lang_iso, segment_number], params
41
- end
42
- end
43
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all snapshots for the given project
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-list-all-snapshots-get
8
- # @return [Lokalise::Collection::Snapshot<Lokalise::Resources::Snapshot>]
9
- # @param project_id [String]
10
- # @param params [Hash]
11
- def snapshots(project_id, params = {})
12
- c_r Lokalise::Collections::Snapshot, :all, project_id, params
13
- end
14
-
15
- # Creates snapshot for the given project
16
- #
17
- # @see https://app.lokalise.com/api2docs/curl/#transition-create-a-snapshot-post
18
- # @return [Lokalise::Resources::Snapshot]
19
- # @param project_id [String]
20
- # @param params [Hash]
21
- def create_snapshot(project_id, params = {})
22
- c_r Lokalise::Resources::Snapshot, :create, project_id, params
23
- end
24
-
25
- # Restore project from the given snapshot by producing project's copy
26
- #
27
- # @see https://app.lokalise.com/api2docs/curl/#transition-restore-a-snapshot-post
28
- # @return [Lokalise::Resources::Project]
29
- # @param project_id [String]
30
- # @param snapshot_id [String, Integer]
31
- def restore_snapshot(project_id, snapshot_id)
32
- c_r Lokalise::Resources::Snapshot, :restore, [project_id, snapshot_id]
33
- end
34
-
35
- # Deletes snapshot
36
- #
37
- # @see https://app.lokalise.com/api2docs/curl/#transition-delete-a-snapshot-delete
38
- # @return [Hash]
39
- # @param project_id [String]
40
- # @param snapshot_id [String, Integer]
41
- def destroy_snapshot(project_id, snapshot_id)
42
- c_r Lokalise::Resources::Snapshot, :destroy, [project_id, snapshot_id]
43
- end
44
- end
45
- end
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all tasks for the given project
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-list-all-tasks-get
8
- # @return [Lokalise::Collection::Task<Lokalise::Resources::Task>]
9
- # @param project_id [String]
10
- # @param params [Hash]
11
- def tasks(project_id, params = {})
12
- c_r Lokalise::Collections::Task, :all, project_id, params
13
- end
14
-
15
- # Returns a single task for the given project
16
- #
17
- # @see https://app.lokalise.com/api2docs/curl/#transition-retrieve-a-task-get
18
- # @return [Lokalise::Resources::Task]
19
- # @param project_id [String]
20
- # @param task_id [String, Integer]
21
- def task(project_id, task_id)
22
- c_r Lokalise::Resources::Task, :find, [project_id, task_id]
23
- end
24
-
25
- # Creates task for the given project
26
- #
27
- # @see https://app.lokalise.com/api2docs/curl/#transition-create-a-task-post
28
- # @return [Lokalise::Resources::Task]
29
- # @param project_id [String]
30
- # @param params [Hash]
31
- def create_task(project_id, params)
32
- c_r Lokalise::Resources::Task, :create, project_id, params
33
- end
34
-
35
- # Updates task for the given project
36
- #
37
- # @see https://app.lokalise.com/api2docs/curl/#transition-update-a-task-put
38
- # @return [Lokalise::Resources::Task]
39
- # @param project_id [String]
40
- # @param task_id [String, Integer]
41
- # @param params [Hash]
42
- def update_task(project_id, task_id, params = {})
43
- c_r Lokalise::Resources::Task, :update, [project_id, task_id], params
44
- end
45
-
46
- # Deletes task for the given project
47
- #
48
- # @see https://app.lokalise.com/api2docs/curl/#transition-delete-a-task-delete
49
- # @return [Hash]
50
- # @param project_id [String]
51
- # @param task_id [String, Integer]
52
- def destroy_task(project_id, task_id)
53
- c_r Lokalise::Resources::Task, :destroy, [project_id, task_id]
54
- end
55
- end
56
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns team user billing details
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-retrieve-team-user-billing-details-get
8
- # @return [Lokalise::Resources::TeamUserBillingDetails]
9
- # @param team_id [String]
10
- def team_user_billing_details(team_id)
11
- c_r Lokalise::Resources::TeamUserBillingDetails, :find, team_id
12
- end
13
-
14
- # Creates team user billing details
15
- #
16
- # @see https://app.lokalise.com/api2docs/curl/#transition-create-team-user-billing-details-post
17
- # @return [Lokalise::Resources::TeamUserBillingDetails]
18
- # @param team_id [String]
19
- # @param params [Hash]
20
- def create_team_user_billing_details(team_id, params)
21
- c_r Lokalise::Resources::TeamUserBillingDetails, :create, team_id, params
22
- end
23
-
24
- # Updates team user billing details
25
- #
26
- # @see https://app.lokalise.com/api2docs/curl/#transition-create-team-user-billing-details-post
27
- # @return [Lokalise::Resources::TeamUserBillingDetails]
28
- # @param team_id [String]
29
- # @param params [Hash]
30
- def update_team_user_billing_details(team_id, params)
31
- c_r Lokalise::Resources::TeamUserBillingDetails, :update, team_id, params
32
- end
33
- end
34
- end
@@ -1,107 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all team user groups for the given team
6
- #
7
- # @see https://lokalise.co/api2docs/curl/#transition-list-all-groups-get
8
- # @return [Lokalise::Collection::TeamUserGroup<Lokalise::Resources::TeamUserGroup>]
9
- # @param team_id [String]
10
- # @param params [Hash]
11
- def team_user_groups(team_id, params = {})
12
- c_r Lokalise::Collections::TeamUserGroup, :all, team_id, params
13
- end
14
-
15
- # Returns team user from the given team
16
- #
17
- # @see https://lokalise.co/api2docs/curl/#transition-retrieve-a-group-get
18
- # @return [Lokalise::Resources::TeamUserGroup]
19
- # @param team_id [String]
20
- # @param group_id [String, Integer]
21
- def team_user_group(team_id, group_id)
22
- c_r Lokalise::Resources::TeamUserGroup, :find, [team_id, group_id]
23
- end
24
-
25
- # Creates team user group
26
- #
27
- # @see https://lokalise.co/api2docs/curl/#resource-team-user-groups
28
- # @return [Lokalise::Resources::TeamUserGroup]
29
- # @param params [Hash]
30
- def create_team_user_group(team_id, params)
31
- c_r Lokalise::Resources::TeamUserGroup, :create, team_id, params
32
- end
33
-
34
- # Updates team user group for the given team
35
- #
36
- # @see https://lokalise.co/api2docs/curl/#transition-update-a-group-put
37
- # @return [Lokalise::Resources::TeamUserGroup]
38
- # @param team_id [String]
39
- # @param group_id [String, Integer]
40
- # @param params [Hash]
41
- def update_team_user_group(team_id, group_id, params)
42
- c_r Lokalise::Resources::TeamUserGroup, :update, [team_id, group_id], params
43
- end
44
-
45
- # Deletes team user group from the given team
46
- #
47
- # @see https://lokalise.co/api2docs/curl/#transition-delete-a-group-delete
48
- # @return [Lokalise::Resources::TeamUserGroup]
49
- # @param team_id [String]
50
- # @param group_id [String, Integer]
51
- def destroy_team_user_group(team_id, group_id)
52
- c_r Lokalise::Resources::TeamUserGroup, :destroy, [team_id, group_id]
53
- end
54
-
55
- # Adds projects to the given group
56
- #
57
- # @see https://lokalise.co/api2docs/curl/#transition-add-projects-to-group-put
58
- # @return [Lokalise::Resources::TeamUserGroup]
59
- # @param team_id [String]
60
- # @param group_id [String, Integer]
61
- # @param project_ids [String, Integer, Array<String>, Array<Integer>]
62
- def add_projects_to_group(team_id, group_id, project_ids)
63
- c_r Lokalise::Resources::TeamUserGroup, :update,
64
- [team_id, group_id, 'projects', 'add'],
65
- project_ids, :projects, [team_id, group_id]
66
- end
67
-
68
- # Removes projects from the given group
69
- #
70
- # @see https://lokalise.co/api2docs/curl/#transition-remove-projects-from-group-put
71
- # @return [Lokalise::Resources::TeamUserGroup]
72
- # @param team_id [String]
73
- # @param group_id [String, Integer]
74
- # @param project_ids [String, Integer, Array<String>, Array<Integer>]
75
- def remove_projects_from_group(team_id, group_id, project_ids)
76
- c_r Lokalise::Resources::TeamUserGroup, :update,
77
- [team_id, group_id, 'projects', 'remove'],
78
- project_ids, :projects, [team_id, group_id]
79
- end
80
-
81
- # Adds users to the given group
82
- #
83
- # @see https://lokalise.co/api2docs/curl/#transition-add-members-to-group-put
84
- # @return [Lokalise::Resources::TeamUserGroup]
85
- # @param team_id [String]
86
- # @param group_id [String, Integer]
87
- # @param users_ids [String, Integer, Array<String>, Array<Integer>]
88
- def add_users_to_group(team_id, group_id, users_ids)
89
- c_r Lokalise::Resources::TeamUserGroup, :update,
90
- [team_id, group_id, 'members', 'add'],
91
- users_ids, :users, [team_id, group_id]
92
- end
93
-
94
- # Removes users from the given group
95
- #
96
- # @see https://lokalise.co/api2docs/curl/#transition-remove-members-from-group-put
97
- # @return [Lokalise::Resources::TeamUserGroup]
98
- # @param team_id [String]
99
- # @param group_id [String, Integer]
100
- # @param users_ids [String, Integer, Array<String>, Array<Integer>]
101
- def remove_users_from_group(team_id, group_id, users_ids)
102
- c_r Lokalise::Resources::TeamUserGroup, :update,
103
- [team_id, group_id, 'members', 'remove'],
104
- users_ids, :users, [team_id, group_id]
105
- end
106
- end
107
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all team users for the given team
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-list-all-team-users-get
8
- # @return [Lokalise::Collection::TeamUser<Lokalise::Resources::TeamUser>]
9
- # @param team_id [String]
10
- # @param params [Hash]
11
- def team_users(team_id, params = {})
12
- c_r Lokalise::Collections::TeamUser, :all, team_id, params
13
- end
14
-
15
- # Returns team user from the given team
16
- #
17
- # @see https://app.lokalise.com/api2docs/curl/#transition-retrieve-a-team-user-get
18
- # @return [Lokalise::Resources::TeamUser]
19
- # @param team_id [String]
20
- # @param user_id [String, Integer]
21
- def team_user(team_id, user_id)
22
- c_r Lokalise::Resources::TeamUser, :find, [team_id, user_id]
23
- end
24
-
25
- # Updates team user for the given team
26
- #
27
- # @see https://app.lokalise.com/api2docs/curl/#transition-update-a-team-user-put
28
- # @return [Lokalise::Resources::TeamUser]
29
- # @param team_id [String]
30
- # @param user_id [String, Integer]
31
- # @param params [Hash]
32
- def update_team_user(team_id, user_id, params)
33
- c_r Lokalise::Resources::TeamUser, :update, [team_id, user_id], params
34
- end
35
-
36
- # Deletes team user from the given team
37
- #
38
- # @see https://app.lokalise.com/api2docs/curl/#transition-delete-a-team-user-delete
39
- # @return [Lokalise::Resources::TeamUser]
40
- # @param team_id [String]
41
- # @param user_id [String, Integer]
42
- def destroy_team_user(team_id, user_id)
43
- c_r Lokalise::Resources::TeamUser, :destroy, [team_id, user_id]
44
- end
45
- end
46
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all teams available to the user
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-list-all-teams-get
8
- # @return [Lokalise::Collection::Team<Lokalise::Resources::Team>]
9
- # @param params [Hash]
10
- def teams(params = {})
11
- c_r Lokalise::Collections::Team, :all, nil, params
12
- end
13
- end
14
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all translation providers for the given team
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-list-all-providers-get
8
- # @return [Lokalise::Collection::TranslationProvider<Lokalise::Resources::TranslationProvider>]
9
- # @param team_id [String]
10
- # @param params [Hash]
11
- def translation_providers(team_id, params = {})
12
- c_r Lokalise::Collections::TranslationProvider, :all, team_id, params
13
- end
14
-
15
- # Returns a single translation provider for the given team
16
- #
17
- # @see https://app.lokalise.com/api2docs/curl/#transition-retrieve-a-provider-get
18
- # @return [Lokalise::Resources::TranslationProvider]
19
- # @param team_id [String]
20
- # @param provider_id [String, Integer]
21
- def translation_provider(team_id, provider_id)
22
- c_r Lokalise::Resources::TranslationProvider, :find, [team_id, provider_id]
23
- end
24
- end
25
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all translations for the given project (ungrouped)
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-list-all-translations-get
8
- # @return [Lokalise::Collection::Translation<Lokalise::Resources::Translation>]
9
- # @param project_id [String]
10
- # @param params [Hash]
11
- def translations(project_id, params = {})
12
- c_r Lokalise::Collections::Translation, :all, project_id, params
13
- end
14
-
15
- # Returns translation of the given project
16
- #
17
- # @see https://app.lokalise.com/api2docs/curl/#transition-retrieve-a-translation-get
18
- # @return [Lokalise::Resources::Translation]
19
- # @param project_id [String]
20
- # @param translation_id [String, Integer]
21
- # @param params [Hash]
22
- def translation(project_id, translation_id, params = {})
23
- c_r Lokalise::Resources::Translation, :find, [project_id, translation_id], params
24
- end
25
-
26
- # Updates translation of the given project
27
- #
28
- # @see https://app.lokalise.com/api2docs/curl/#transition-update-a-translation-put
29
- # @return [Lokalise::Resources::Translation]
30
- # @param project_id [String]
31
- # @param translation_id [String, Integer]
32
- # @param params [Hash]
33
- def update_translation(project_id, translation_id, params)
34
- c_r Lokalise::Resources::Translation, :update, [project_id, translation_id], params
35
- end
36
- end
37
- end
@@ -1,67 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- class Client
5
- # Returns all webhooks for the given project
6
- #
7
- # @see https://app.lokalise.com/api2docs/curl/#transition-list-all-webhooks-get
8
- # @return [Lokalise::Collection::Webhook<Lokalise::Resources::Webhook>]
9
- # @param project_id [String]
10
- # @param params [Hash]
11
- def webhooks(project_id, params = {})
12
- c_r Lokalise::Collections::Webhook, :all, project_id, params
13
- end
14
-
15
- # Returns a single webhook for the given project
16
- #
17
- # @see https://app.lokalise.com/api2docs/curl/#transition-retrieve-a-webhook-get
18
- # @return [Lokalise::Resources::Webhook]
19
- # @param project_id [String]
20
- # @param webhook_id [String, Integer]
21
- def webhook(project_id, webhook_id)
22
- c_r Lokalise::Resources::Webhook, :find, [project_id, webhook_id]
23
- end
24
-
25
- # Creates webhook for the given project
26
- #
27
- # @see https://app.lokalise.com/api2docs/curl/#transition-create-a-webhook-post
28
- # @return [Lokalise::Resources::Webhook]
29
- # @param project_id [String]
30
- # @param params [Hash]
31
- def create_webhook(project_id, params)
32
- c_r Lokalise::Resources::Webhook, :create, project_id, params
33
- end
34
-
35
- # Updates webhook for the given project
36
- #
37
- # @see https://app.lokalise.com/api2docs/curl/#transition-update-a-webhook-put
38
- # @return [Lokalise::Resources::Webhook]
39
- # @param project_id [String]
40
- # @param webhook_id [String, Integer]
41
- # @param params [Hash]
42
- def update_webhook(project_id, webhook_id, params = {})
43
- c_r Lokalise::Resources::Webhook, :update, [project_id, webhook_id], params
44
- end
45
-
46
- # Deletes webhook for the given project
47
- #
48
- # @see https://app.lokalise.com/api2docs/curl/#transition-delete-a-webhook-delete
49
- # @return [Hash]
50
- # @param project_id [String]
51
- # @param webhook_id [String, Integer]
52
- def destroy_webhook(project_id, webhook_id)
53
- c_r Lokalise::Resources::Webhook, :destroy, [project_id, webhook_id]
54
- end
55
-
56
- # Regenerates secret for the given webhook
57
- #
58
- # @see https://lokalise.com/api2docs/curl/#transition-regenerate-a-webhook-secret-patch
59
- # @return [Hash]
60
- # @param project_id [String]
61
- # @param webhook_id [String, Integer]
62
- def regenerate_webhook_secret(project_id, webhook_id)
63
- c_r Lokalise::Resources::Webhook, :regenerate_secret,
64
- [project_id, webhook_id, 'secret', 'regenerate']
65
- end
66
- end
67
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lokalise
4
- VERSION = '4.5.0'
5
- end
@@ -1,101 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'faraday'
4
- require 'faraday_middleware'
5
- require 'yaml'
6
- require 'addressable'
7
-
8
- require 'ruby-lokalise-api/version'
9
- require 'ruby-lokalise-api/json_handler'
10
- require 'ruby-lokalise-api/connection'
11
- require 'ruby-lokalise-api/request'
12
- require 'ruby-lokalise-api/error'
13
- require 'ruby-lokalise-api/utils/string_utils'
14
- require 'ruby-lokalise-api/utils/attribute_helpers'
15
- require 'ruby-lokalise-api/utils/endpoint_helpers'
16
-
17
- require 'ruby-lokalise-api/resources/base'
18
- require 'ruby-lokalise-api/resources/branch'
19
- require 'ruby-lokalise-api/resources/project'
20
- require 'ruby-lokalise-api/resources/project_language'
21
- require 'ruby-lokalise-api/resources/queued_process'
22
- require 'ruby-lokalise-api/resources/key_comment'
23
- require 'ruby-lokalise-api/resources/contributor'
24
- require 'ruby-lokalise-api/resources/file'
25
- require 'ruby-lokalise-api/resources/translation'
26
- require 'ruby-lokalise-api/resources/team_user'
27
- require 'ruby-lokalise-api/resources/task'
28
- require 'ruby-lokalise-api/resources/snapshot'
29
- require 'ruby-lokalise-api/resources/screenshot'
30
- require 'ruby-lokalise-api/resources/key'
31
- require 'ruby-lokalise-api/resources/project_comment'
32
- require 'ruby-lokalise-api/resources/system_language'
33
- require 'ruby-lokalise-api/resources/team'
34
- require 'ruby-lokalise-api/resources/order'
35
- require 'ruby-lokalise-api/resources/payment_card'
36
- require 'ruby-lokalise-api/resources/translation_provider'
37
- require 'ruby-lokalise-api/resources/team_user_group'
38
- require 'ruby-lokalise-api/resources/custom_translation_status'
39
- require 'ruby-lokalise-api/resources/webhook'
40
- require 'ruby-lokalise-api/resources/segment'
41
- require 'ruby-lokalise-api/resources/team_user_billing_details'
42
-
43
- require 'ruby-lokalise-api/collections/base'
44
- require 'ruby-lokalise-api/collections/branch'
45
- require 'ruby-lokalise-api/collections/project'
46
- require 'ruby-lokalise-api/collections/team'
47
- require 'ruby-lokalise-api/collections/system_language'
48
- require 'ruby-lokalise-api/collections/project_language'
49
- require 'ruby-lokalise-api/collections/project_comment'
50
- require 'ruby-lokalise-api/collections/queued_process'
51
- require 'ruby-lokalise-api/collections/key_comment'
52
- require 'ruby-lokalise-api/collections/key'
53
- require 'ruby-lokalise-api/collections/contributor'
54
- require 'ruby-lokalise-api/collections/file'
55
- require 'ruby-lokalise-api/collections/translation'
56
- require 'ruby-lokalise-api/collections/team_user'
57
- require 'ruby-lokalise-api/collections/task'
58
- require 'ruby-lokalise-api/collections/snapshot'
59
- require 'ruby-lokalise-api/collections/screenshot'
60
- require 'ruby-lokalise-api/collections/order'
61
- require 'ruby-lokalise-api/collections/payment_card'
62
- require 'ruby-lokalise-api/collections/translation_provider'
63
- require 'ruby-lokalise-api/collections/team_user_group'
64
- require 'ruby-lokalise-api/collections/custom_translation_status'
65
- require 'ruby-lokalise-api/collections/webhook'
66
- require 'ruby-lokalise-api/collections/segment'
67
-
68
- require 'ruby-lokalise-api/client'
69
- require 'ruby-lokalise-api/oauth_client'
70
-
71
- module Lokalise
72
- class << self
73
- # Initializes a new Client object
74
- #
75
- # @return [Lokalise::Client]
76
- # @param token [String]
77
- # @param params [Hash]
78
- def client(token, params = {})
79
- @client ||= Lokalise::Client.new token, params
80
- end
81
-
82
- # Reset the currently set client
83
- def reset_client!
84
- @client = nil
85
- end
86
-
87
- # Initializes a new OAuthClient object
88
- #
89
- # @return [Lokalise::OAuthClient]
90
- # @param token [String]
91
- # @param params [Hash]
92
- def oauth_client(token, params = {})
93
- @oauth_client ||= Lokalise::OAuthClient.new token, params
94
- end
95
-
96
- # Reset the currently set OAuth client
97
- def reset_oauth_client!
98
- @oauth_client = nil
99
- end
100
- end
101
- end
@@ -1,89 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe Lokalise::Connection do
4
- include described_class
5
-
6
- let(:project_id) { '803826145ba90b42d5d860.46800099' }
7
- let(:key_id) { 44_596_059 }
8
-
9
- before { Lokalise.reset_client! }
10
-
11
- after do
12
- Lokalise.reset_client!
13
- Faraday.default_adapter = :net_http
14
- end
15
-
16
- it 'Authorization header must be present for OAuth client' do
17
- conn = connection test_oauth_client
18
- expect(conn.headers['Authorization']).to eq("Bearer #{test_client.token}")
19
- expect(conn.headers['X-api-token']).to be_nil
20
- end
21
-
22
- it 'timeouts and compression should not be set by default but the token must be present' do
23
- conn = connection test_client
24
- expect(conn.options.timeout).to be_nil
25
- expect(conn.options.open_timeout).to be_nil
26
- expect(conn.headers['X-api-token']).to eq(test_client.token)
27
- expect(conn.builder.handlers).not_to include(FaradayMiddleware::Gzip)
28
- end
29
-
30
- it 'allows to customize timeouts' do
31
- custom_client = Lokalise.client(ENV['LOKALISE_API_TOKEN'],
32
- open_timeout: 100, timeout: 500)
33
- conn = connection custom_client
34
- expect(conn.options.timeout).to eq(500)
35
- expect(conn.options.open_timeout).to eq(100)
36
- expect(conn.headers['X-api-token']).to eq(custom_client.token)
37
-
38
- custom_client.timeout = 300
39
- custom_client.open_timeout = 200
40
- another_conn = connection custom_client
41
- expect(another_conn.options.timeout).to eq(300)
42
- expect(another_conn.options.open_timeout).to eq(200)
43
- end
44
-
45
- it 'is possible to customize adapter' do
46
- conn = connection test_client
47
- expect(conn.builder.adapter).to eq(Faraday::Adapter::NetHttp)
48
-
49
- Faraday.default_adapter = :excon
50
-
51
- another_conn = connection test_client
52
- expect(another_conn.builder.adapter).to eq(Faraday::Adapter::Excon)
53
- expect(conn.builder.adapter).to eq(Faraday::Adapter::NetHttp)
54
- end
55
-
56
- it 'allows to customize compression' do
57
- custom_client = Lokalise.client(ENV['LOKALISE_API_TOKEN'], enable_compression: true)
58
- conn = connection custom_client
59
- expect(conn.headers['X-api-token']).to eq(custom_client.token)
60
- expect(conn.builder.handlers).to include(FaradayMiddleware::Gzip)
61
- end
62
-
63
- it 'is possible to enable gzip compression' do
64
- gzip_client = Lokalise.client(ENV['LOKALISE_API_TOKEN'], enable_compression: true)
65
- keys = VCR.use_cassette('all_keys_gzip') do
66
- gzip_client.keys project_id
67
- end.collection
68
-
69
- expect(keys.first.key_id).to eq(key_id)
70
- end
71
-
72
- it 'is possible to disable gzip compression' do
73
- no_gzip_client = Lokalise.client(ENV['LOKALISE_API_TOKEN'], enable_compression: false)
74
- keys = VCR.use_cassette('all_keys_no_gzip') do
75
- no_gzip_client.keys project_id
76
- end.collection
77
-
78
- expect(keys.first.key_id).to eq(key_id)
79
- end
80
-
81
- it 'gzip compression is off by default' do
82
- default_gzip_client = Lokalise.client(ENV['LOKALISE_API_TOKEN'])
83
- keys = VCR.use_cassette('all_keys_default_gzip') do
84
- default_gzip_client.keys project_id
85
- end.collection
86
-
87
- expect(keys.first.key_id).to eq(key_id)
88
- end
89
- end