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,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  class Error < StandardError
5
5
  ClientError = Class.new(self)
6
6
  ServerError = Class.new(self)
@@ -13,7 +13,7 @@ module Lokalise
13
13
  TooManyRequests = Class.new(ClientError)
14
14
  Forbidden = Class.new(ClientError)
15
15
  Locked = Class.new(ClientError)
16
- MethodNowAllowed = Class.new(ClientError)
16
+ MethodNotAllowed = Class.new(ClientError)
17
17
 
18
18
  NotImplemented = Class.new(ServerError)
19
19
  BadGateway = Class.new(ServerError)
@@ -21,19 +21,19 @@ module Lokalise
21
21
  GatewayTimeout = Class.new(ServerError)
22
22
 
23
23
  ERRORS = {
24
- 400 => Lokalise::Error::BadRequest,
25
- 401 => Lokalise::Error::Unauthorized,
26
- 403 => Lokalise::Error::Forbidden,
27
- 404 => Lokalise::Error::NotFound,
28
- 405 => Lokalise::Error::MethodNowAllowed,
29
- 406 => Lokalise::Error::NotAcceptable,
30
- 409 => Lokalise::Error::Conflict,
31
- 423 => Lokalise::Error::Locked,
32
- 429 => Lokalise::Error::TooManyRequests,
33
- 500 => Lokalise::Error::ServerError,
34
- 502 => Lokalise::Error::BadGateway,
35
- 503 => Lokalise::Error::ServiceUnavailable,
36
- 504 => Lokalise::Error::GatewayTimeout
24
+ 400 => RubyLokaliseApi::Error::BadRequest,
25
+ 401 => RubyLokaliseApi::Error::Unauthorized,
26
+ 403 => RubyLokaliseApi::Error::Forbidden,
27
+ 404 => RubyLokaliseApi::Error::NotFound,
28
+ 405 => RubyLokaliseApi::Error::MethodNotAllowed,
29
+ 406 => RubyLokaliseApi::Error::NotAcceptable,
30
+ 409 => RubyLokaliseApi::Error::Conflict,
31
+ 423 => RubyLokaliseApi::Error::Locked,
32
+ 429 => RubyLokaliseApi::Error::TooManyRequests,
33
+ 500 => RubyLokaliseApi::Error::ServerError,
34
+ 502 => RubyLokaliseApi::Error::BadGateway,
35
+ 503 => RubyLokaliseApi::Error::ServiceUnavailable,
36
+ 504 => RubyLokaliseApi::Error::GatewayTimeout
37
37
  }.freeze
38
38
 
39
39
  class << self
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'json'
4
4
 
5
- module Lokalise
5
+ module RubyLokaliseApi
6
6
  module JsonHandler
7
7
  # JSON custom parser. Uses built-in JSON by default but can be overridden to any other parser
8
8
 
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module OAuth2
5
+ class Auth
6
+ include RubyLokaliseApi::OAuth2::Request
7
+
8
+ attr_reader :client_id, :client_secret
9
+
10
+ def initialize(client_id, client_secret)
11
+ @client_id = client_id
12
+ @client_secret = client_secret
13
+ end
14
+
15
+ def auth(scope:, redirect_uri: nil, state: nil)
16
+ scope = scope.join(' ') if scope.is_a?(Array)
17
+
18
+ params = {
19
+ client_id: client_id,
20
+ scope: scope
21
+ }
22
+ params[:state] = state unless state.nil?
23
+ params[:redirect_uri] = redirect_uri unless redirect_uri.nil?
24
+
25
+ _build_url_from params
26
+ end
27
+
28
+ def token(code)
29
+ params = base_params.merge({
30
+ code: code,
31
+ grant_type: 'authorization_code'
32
+ })
33
+ post 'token', params
34
+ end
35
+
36
+ def refresh(token)
37
+ params = base_params.merge({
38
+ refresh_token: token,
39
+ grant_type: 'refresh_token'
40
+ })
41
+ post 'token', params
42
+ end
43
+
44
+ private
45
+
46
+ def base_params
47
+ {
48
+ client_id: client_id,
49
+ client_secret: client_secret
50
+ }
51
+ end
52
+
53
+ def _build_url_from(params)
54
+ URI::HTTPS.build(
55
+ host: BASE_URL.host,
56
+ path: "#{BASE_URL.path}auth",
57
+ query: URI.encode_www_form(params)
58
+ ).to_s
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module OAuth2
5
+ module Connection
6
+ BASE_URL = URI('https://app.lokalise.com/oauth2/')
7
+
8
+ def connection
9
+ Faraday.new(options) { |f| f.adapter Faraday.default_adapter }
10
+ end
11
+
12
+ private
13
+
14
+ def options
15
+ {
16
+ headers: {
17
+ accept: 'application/json',
18
+ user_agent: "ruby-lokalise-api gem/#{RubyLokaliseApi::VERSION}"
19
+ },
20
+ url: BASE_URL.to_s
21
+ }
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module OAuth2
5
+ module Request
6
+ include RubyLokaliseApi::BaseRequest
7
+ include RubyLokaliseApi::OAuth2::Connection
8
+
9
+ def post(path, params = {})
10
+ respond_with connection.post(prepare(path), custom_dump(params))
11
+ end
12
+
13
+ private
14
+
15
+ def respond_with(response)
16
+ body = custom_load response.body
17
+ status = response.status
18
+ raise_on_error! status, body
19
+ body
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
4
- class OAuthClient < Client
3
+ module RubyLokaliseApi
4
+ class OAuth2Client < Client
5
5
  def initialize(token, params = {})
6
6
  super(token, params)
7
7
  @token_header = 'Authorization'
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Request
5
- include Lokalise::Connection
6
- include Lokalise::JsonHandler
5
+ include RubyLokaliseApi::BaseRequest
6
+ include RubyLokaliseApi::Connection
7
7
 
8
8
  # Lokalise returns pagination info in special headers
9
9
  PAGINATION_HEADERS = %w[x-pagination-total-count x-pagination-page-count x-pagination-limit x-pagination-page].freeze
@@ -50,34 +50,23 @@ module Lokalise
50
50
 
51
51
  private
52
52
 
53
- # Get rid of double slashes in the `path`, leading and trailing slash
54
- def prepare(path)
55
- path.delete_prefix('/').gsub(%r{//}, '/').gsub(%r{/+\z}, '')
56
- end
57
-
58
53
  def respond_with(response, client)
59
54
  body = custom_load response.body
60
55
  uri = Addressable::URI.parse response.env.url
61
56
  status = response.status
62
- respond_with_error status, body if status.between?(400, 599) || (body.respond_to?(:has_key?) && body.key?('error'))
57
+ raise_on_error! status, body
63
58
  extract_headers_from(response).
64
59
  merge('content' => body,
65
60
  'client' => client,
66
61
  'path' => uri.path.gsub(%r{/api2/}, ''))
67
62
  end
68
63
 
69
- # Get only pagination headers
64
+ # Keep only pagination headers
70
65
  def extract_headers_from(response)
71
66
  response.
72
67
  headers.
73
68
  to_h.
74
69
  keep_if { |k, _v| PAGINATION_HEADERS.include?(k) }
75
70
  end
76
-
77
- def respond_with_error(code, body)
78
- raise(Lokalise::Error, body['error'] || body) unless Lokalise::Error::ERRORS.key? code
79
-
80
- raise Lokalise::Error::ERRORS[code].from_response(body)
81
- end
82
71
  end
83
72
  end
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Base
6
- using Lokalise::Utils::StringUtils
6
+ using RubyLokaliseApi::Utils::StringUtils
7
7
 
8
- extend Lokalise::Request
9
- extend Lokalise::Utils::AttributeHelpers
10
- include Lokalise::Utils::AttributeHelpers
11
- extend Lokalise::Utils::EndpointHelpers
8
+ extend RubyLokaliseApi::Request
9
+ extend RubyLokaliseApi::Utils::AttributeHelpers
10
+ include RubyLokaliseApi::Utils::AttributeHelpers
11
+ extend RubyLokaliseApi::Utils::EndpointHelpers
12
12
 
13
13
  attr_reader :raw_data, :project_id, :client, :path, :branch, :user_id, :team_id, :key_id
14
14
 
@@ -19,7 +19,7 @@ module Lokalise
19
19
  #
20
20
  # @param response [Hash]
21
21
  # @param endpoint_generator [Proc] Generate proper paths for certain resources
22
- # @return [Lokalise::Resources::Base]
22
+ # @return [RubyLokaliseApi::Resources::Base]
23
23
  def initialize(response, endpoint_generator = nil)
24
24
  populate_attributes_for response['content']
25
25
  extract_common_attributes_for response['content']
@@ -120,7 +120,7 @@ module Lokalise
120
120
  end
121
121
 
122
122
  def produce_collection(model_class, response, params)
123
- Module.const_get("Lokalise::Collections::#{model_class}").new(response, params)
123
+ Module.const_get("RubyLokaliseApi::Collections::#{model_class}").new(response, params)
124
124
  end
125
125
  end
126
126
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Branch < Base
6
6
  ID_KEY = 'branch_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Contributor < Base
6
6
  ID_KEY = 'user_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class CustomTranslationStatus < Base
6
6
  ID_KEY = 'status_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class File < Base
6
6
  class << self
@@ -9,7 +9,7 @@ module Lokalise
9
9
  end
10
10
 
11
11
  def upload(client, path, params)
12
- klass = Lokalise::Resources::QueuedProcess
12
+ klass = RubyLokaliseApi::Resources::QueuedProcess
13
13
  klass.new post(path, client, params),
14
14
  ->(project_id, id) { klass.endpoint(project_id, id) }
15
15
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Key < Base
6
6
  ID_KEY = 'key_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class KeyComment < Base
6
6
  DATA_KEY = 'Comment'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Order < Base
6
6
  ID_KEY = 'order_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class PaymentCard < Base
6
6
  ID_KEY = 'card_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Project < Base
6
6
  ID_KEY = 'project_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class ProjectComment < Base
6
6
  ID_KEY = 'comment_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class ProjectLanguage < Base
6
6
  DATA_KEY = 'Language'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class QueuedProcess < Base
6
6
  DATA_KEY = 'Process'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Screenshot < Base
6
6
  ID_KEY = 'screenshot_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Segment < Base
6
6
  DATA_KEY = 'Segment'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Snapshot < Base
6
6
  ID_KEY = 'snapshot_id'
@@ -12,7 +12,7 @@ module Lokalise
12
12
 
13
13
  class << self
14
14
  def restore(client, path, *_args)
15
- klass = Lokalise::Resources::Project
15
+ klass = RubyLokaliseApi::Resources::Project
16
16
  klass.new post(path, client),
17
17
  ->(project_id, *_ids) { klass.endpoint(project_id) }
18
18
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class SystemLanguage < Base
6
6
  DATA_KEY = 'Language'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Task < Base
6
6
  ID_KEY = 'task_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Team < Base
6
6
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class TeamUser < Base
6
6
  ID_KEY = 'user_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class TeamUserBillingDetails < Base
6
6
  class << self
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class TeamUserGroup < Base
6
6
  DATA_KEY = 'Group'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Translation < Base
6
6
  ID_KEY = 'translation_id'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class TranslationProvider < Base
6
6
  supports [:reload_data, '', :find]
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Lokalise
3
+ module RubyLokaliseApi
4
4
  module Resources
5
5
  class Webhook < Base
6
6
  ID_KEY = 'webhook_id'
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Branches
6
+ # Returns all branches for the given project
7
+ #
8
+ # @see https://lokalise.com/api2docs/curl/#transition-list-all-branches-get
9
+ # @return [RubyLokaliseApi::Collection::Branch<RubyLokaliseApi::Resources::Branch>]
10
+ # @param project_id [String]
11
+ # @param params [Hash]
12
+ def branches(project_id, params = {})
13
+ c_r RubyLokaliseApi::Collections::Branch, :all, project_id, params
14
+ end
15
+
16
+ # Creates a new branch inside the given project
17
+ #
18
+ # @see https://lokalise.com/api2docs/curl/#transition-create-a-branch-post
19
+ # @return [RubyLokaliseApi::Resources::Branch]
20
+ # @param project_id [String]
21
+ # @param params [Hash]
22
+ def create_branch(project_id, params)
23
+ c_r RubyLokaliseApi::Resources::Branch, :create, project_id, params
24
+ end
25
+
26
+ # Returns a single branch for the given project
27
+ #
28
+ # @see https://lokalise.com/api2docs/curl/#transition-retrieve-a-branch-get
29
+ # @return [RubyLokaliseApi::Resources::Branch]
30
+ # @param project_id [String]
31
+ # @param branch_id [String, Integer]
32
+ def branch(project_id, branch_id)
33
+ c_r RubyLokaliseApi::Resources::Branch, :find, [project_id, branch_id]
34
+ end
35
+
36
+ # Updates the given branch inside the given project
37
+ #
38
+ # @see https://lokalise.com/api2docs/curl/#transition-update-a-branch-put
39
+ # @return [RubyLokaliseApi::Resources::Branch]
40
+ # @param project_id [String]
41
+ # @param branch_id [String, Integer]
42
+ # @param params [Hash]
43
+ def update_branch(project_id, branch_id, params)
44
+ c_r RubyLokaliseApi::Resources::Branch, :update, [project_id, branch_id], params
45
+ end
46
+
47
+ # Deletes branch inside the given project
48
+ #
49
+ # @see https://lokalise.com/api2docs/curl/#transition-delete-a-branch-delete
50
+ # @return [Hash]
51
+ # @param project_id [String]
52
+ # @param branch_id [String, Integer]
53
+ def destroy_branch(project_id, branch_id)
54
+ c_r RubyLokaliseApi::Resources::Branch, :destroy, [project_id, branch_id]
55
+ end
56
+
57
+ # Merges a branch in the project
58
+ #
59
+ # @see https://lokalise.com/api2docs/curl/#transition-merge-a-branch-post
60
+ # @return [Hash]
61
+ # @param project_id [String]
62
+ # @param branch_id [String, Integer]
63
+ # @param params [Hash]
64
+ def merge_branch(project_id, branch_id, params = {})
65
+ c_r RubyLokaliseApi::Resources::Branch, :merge, [project_id, branch_id, :merge], params
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyLokaliseApi
4
+ module Rest
5
+ module Comments
6
+ # Returns a single comment for the given key
7
+ #
8
+ # @see https://app.lokalise.com/api2docs/curl/#transition-retrieve-a-comment-get
9
+ # @return [RubyLokaliseApi::Resources::Comment]
10
+ # @param project_id [String]
11
+ # @param key_id [String, Integer]
12
+ # @param comment_id [String, Integer]
13
+ def comment(project_id, key_id, comment_id)
14
+ c_r RubyLokaliseApi::Resources::KeyComment, :find, [project_id, key_id, comment_id]
15
+ end
16
+
17
+ # Returns all comments for all keys inside the given project
18
+ #
19
+ # @see https://app.lokalise.com/api2docs/curl/#transition-list-project-comments-get
20
+ # @return [RubyLokaliseApi::Collection::Comment<RubyLokaliseApi::Resources::Comment>]
21
+ # @param project_id [String]
22
+ # @param params [Hash]
23
+ def project_comments(project_id, params = {})
24
+ c_r RubyLokaliseApi::Collections::ProjectComment, :all, project_id, params
25
+ end
26
+
27
+ # Returns all comments for the given key inside the given project
28
+ #
29
+ # @see https://app.lokalise.com/api2docs/curl/#transition-list-key-comments-get
30
+ # @return [RubyLokaliseApi::Collection::Comment<RubyLokaliseApi::Resources::Comment>]
31
+ # @param project_id [String]
32
+ # @param key_id [String, Integer]
33
+ # @param params [Hash]
34
+ def comments(project_id, key_id, params = {})
35
+ c_r RubyLokaliseApi::Collections::KeyComment, :all, [project_id, key_id], params
36
+ end
37
+
38
+ # Creates one or more comments for the given key inside the given project
39
+ #
40
+ # @see https://app.lokalise.com/api2docs/curl/#transition-create-comments-post
41
+ # @return [RubyLokaliseApi::Collection::Comment<RubyLokaliseApi::Resources::Comment>]
42
+ # @param project_id [String]
43
+ # @param key_id [String, Integer]
44
+ # @param params [Hash, Array<Hash>]
45
+ def create_comments(project_id, key_id, params)
46
+ c_r RubyLokaliseApi::Resources::KeyComment, :create, [project_id, key_id], params, :comments
47
+ end
48
+
49
+ # Deletes comment for the given key inside the given project
50
+ #
51
+ # @see https://app.lokalise.com/api2docs/curl/#transition-delete-a-comment-delete
52
+ # @return [Hash]
53
+ # @param project_id [String]
54
+ # @param key_id [String, Integer]
55
+ # @param comment_id [String, Integer]
56
+ def destroy_comment(project_id, key_id, comment_id)
57
+ c_r RubyLokaliseApi::Resources::KeyComment, :destroy, [project_id, key_id, comment_id]
58
+ end
59
+ end
60
+ end
61
+ end