ruby-lokalise-api 4.5.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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