ruby-lokalise-api 7.2.0 → 8.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.
- checksums.yaml +4 -4
- data/lib/ruby_lokalise_api/base_client.rb +2 -34
- data/lib/ruby_lokalise_api/client.rb +2 -31
- data/lib/ruby_lokalise_api/collections/base.rb +97 -70
- data/lib/ruby_lokalise_api/collections/branches.rb +11 -0
- data/lib/ruby_lokalise_api/collections/contributors.rb +10 -0
- data/lib/ruby_lokalise_api/collections/custom_translation_statuses.rb +10 -0
- data/lib/ruby_lokalise_api/collections/files.rb +10 -0
- data/lib/ruby_lokalise_api/collections/key_comments.rb +11 -0
- data/lib/ruby_lokalise_api/collections/keys.rb +10 -0
- data/lib/ruby_lokalise_api/collections/orders.rb +10 -0
- data/lib/ruby_lokalise_api/collections/payment_cards.rb +10 -0
- data/lib/ruby_lokalise_api/collections/project_comments.rb +12 -0
- data/lib/ruby_lokalise_api/collections/project_languages.rb +11 -0
- data/lib/ruby_lokalise_api/collections/projects.rb +10 -0
- data/lib/ruby_lokalise_api/collections/queued_processes.rb +11 -0
- data/lib/ruby_lokalise_api/collections/screenshots.rb +10 -0
- data/lib/ruby_lokalise_api/collections/segments.rb +10 -0
- data/lib/ruby_lokalise_api/collections/snapshots.rb +10 -0
- data/lib/ruby_lokalise_api/collections/system_languages.rb +11 -0
- data/lib/ruby_lokalise_api/collections/tasks.rb +10 -0
- data/lib/ruby_lokalise_api/collections/team_user_groups.rb +11 -0
- data/lib/ruby_lokalise_api/collections/team_users.rb +10 -0
- data/lib/ruby_lokalise_api/collections/teams.rb +10 -0
- data/lib/ruby_lokalise_api/collections/translation_providers.rb +10 -0
- data/lib/ruby_lokalise_api/collections/translations.rb +10 -0
- data/lib/ruby_lokalise_api/collections/webhooks.rb +10 -0
- data/lib/ruby_lokalise_api/concerns/attrs_loadable.rb +32 -0
- data/lib/ruby_lokalise_api/concerns/hash_accessible.rb +16 -0
- data/lib/ruby_lokalise_api/concerns/unsupportable.rb +16 -0
- data/lib/ruby_lokalise_api/connection.rb +17 -9
- data/lib/ruby_lokalise_api/data/collection_attributes.yml +52 -0
- data/lib/ruby_lokalise_api/data/{attributes.yml → resource_attributes.yml} +64 -6
- data/lib/ruby_lokalise_api/endpoints/base_endpoint.rb +66 -0
- data/lib/ruby_lokalise_api/endpoints/branches_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/contributors_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/custom_translation_statuses_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/files_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/jwts_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/key_comments_endpoint.rb +17 -0
- data/lib/ruby_lokalise_api/endpoints/keys_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/main_endpoint.rb +25 -0
- data/lib/ruby_lokalise_api/endpoints/oauth2/oauth2_endpoint.rb +33 -0
- data/lib/ruby_lokalise_api/endpoints/orders_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/payment_cards_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/project_comments_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/project_languages_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/projects_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/queued_processes_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/screenshots_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/segments_endpoint.rb +17 -0
- data/lib/ruby_lokalise_api/endpoints/snapshots_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/system_languages_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/tasks_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/team_user_billing_details_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/team_user_groups_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/team_users_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/teams_endpoint.rb +13 -0
- data/lib/ruby_lokalise_api/endpoints/translation_providers_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/translations_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/webhooks_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/error.rb +1 -0
- data/lib/ruby_lokalise_api/generics.rb +25 -0
- data/lib/ruby_lokalise_api/json_handler.rb +1 -2
- data/lib/ruby_lokalise_api/oauth2/auth.rb +48 -39
- data/lib/ruby_lokalise_api/oauth2_client.rb +3 -0
- data/lib/ruby_lokalise_api/request.rb +66 -18
- data/lib/ruby_lokalise_api/resources/base.rb +41 -185
- data/lib/ruby_lokalise_api/resources/branch.rb +2 -21
- data/lib/ruby_lokalise_api/resources/comment.rb +11 -0
- data/lib/ruby_lokalise_api/resources/contributor.rb +1 -9
- data/lib/ruby_lokalise_api/resources/custom_translation_status.rb +1 -13
- data/lib/ruby_lokalise_api/resources/file.rb +2 -16
- data/lib/ruby_lokalise_api/resources/jwt.rb +2 -5
- data/lib/ruby_lokalise_api/resources/key.rb +5 -8
- data/lib/ruby_lokalise_api/resources/oauth2_refreshed_token.rb +9 -0
- data/lib/ruby_lokalise_api/resources/oauth2_token.rb +9 -0
- data/lib/ruby_lokalise_api/resources/order.rb +2 -9
- data/lib/ruby_lokalise_api/resources/payment_card.rb +2 -8
- data/lib/ruby_lokalise_api/resources/project.rb +85 -16
- data/lib/ruby_lokalise_api/resources/project_language.rb +2 -10
- data/lib/ruby_lokalise_api/resources/queued_process.rb +3 -10
- data/lib/ruby_lokalise_api/resources/screenshot.rb +1 -9
- data/lib/ruby_lokalise_api/resources/segment.rb +2 -11
- data/lib/ruby_lokalise_api/resources/snapshot.rb +3 -18
- data/lib/ruby_lokalise_api/resources/system_language.rb +2 -1
- data/lib/ruby_lokalise_api/resources/task.rb +1 -9
- data/lib/ruby_lokalise_api/resources/team.rb +2 -0
- data/lib/ruby_lokalise_api/resources/team_user.rb +1 -9
- data/lib/ruby_lokalise_api/resources/team_user_billing_details.rb +10 -5
- data/lib/ruby_lokalise_api/resources/team_user_group.rb +6 -14
- data/lib/ruby_lokalise_api/resources/translation.rb +2 -9
- data/lib/ruby_lokalise_api/resources/translation_provider.rb +2 -9
- data/lib/ruby_lokalise_api/resources/webhook.rb +2 -16
- data/lib/ruby_lokalise_api/response.rb +50 -0
- data/lib/ruby_lokalise_api/rest/branches.rb +52 -27
- data/lib/ruby_lokalise_api/rest/comments.rb +48 -23
- data/lib/ruby_lokalise_api/rest/contributors.rb +47 -23
- data/lib/ruby_lokalise_api/rest/custom_translation_statuses.rb +60 -36
- data/lib/ruby_lokalise_api/rest/files.rb +43 -24
- data/lib/ruby_lokalise_api/rest/jwts.rb +21 -0
- data/lib/ruby_lokalise_api/rest/keys.rb +67 -34
- data/lib/ruby_lokalise_api/rest/languages.rb +57 -28
- data/lib/ruby_lokalise_api/rest/orders.rb +36 -14
- data/lib/ruby_lokalise_api/rest/payment_cards.rb +29 -12
- data/lib/ruby_lokalise_api/rest/projects.rb +55 -32
- data/lib/ruby_lokalise_api/rest/queued_processes.rb +21 -13
- data/lib/ruby_lokalise_api/rest/screenshots.rb +45 -20
- data/lib/ruby_lokalise_api/rest/segments.rb +31 -18
- data/lib/ruby_lokalise_api/rest/snapshots.rb +34 -14
- data/lib/ruby_lokalise_api/rest/tasks.rb +41 -19
- data/lib/ruby_lokalise_api/rest/team_user_billing_details.rb +33 -12
- data/lib/ruby_lokalise_api/rest/team_user_groups.rb +82 -50
- data/lib/ruby_lokalise_api/rest/team_users.rb +35 -18
- data/lib/ruby_lokalise_api/rest/teams.rb +10 -5
- data/lib/ruby_lokalise_api/rest/translation_providers.rb +24 -9
- data/lib/ruby_lokalise_api/rest/translations.rb +28 -15
- data/lib/ruby_lokalise_api/rest/webhooks.rb +54 -30
- data/lib/ruby_lokalise_api/rest.rb +31 -0
- data/lib/ruby_lokalise_api/utils/attributes.rb +37 -0
- data/lib/ruby_lokalise_api/utils/classes.rb +28 -0
- data/lib/ruby_lokalise_api/utils/keys.rb +33 -0
- data/lib/ruby_lokalise_api/utils/loaders.rb +27 -0
- data/lib/ruby_lokalise_api/utils/strings.rb +20 -0
- data/lib/ruby_lokalise_api/version.rb +1 -1
- data/lib/ruby_lokalise_api.rb +6 -2
- data/ruby-lokalise-api.gemspec +3 -3
- metadata +76 -47
- data/lib/ruby_lokalise_api/base_request.rb +0 -73
- data/lib/ruby_lokalise_api/collections/branch.rb +0 -15
- data/lib/ruby_lokalise_api/collections/contributor.rb +0 -13
- data/lib/ruby_lokalise_api/collections/custom_translation_status.rb +0 -15
- data/lib/ruby_lokalise_api/collections/file.rb +0 -13
- data/lib/ruby_lokalise_api/collections/key.rb +0 -20
- data/lib/ruby_lokalise_api/collections/key_comment.rb +0 -14
- data/lib/ruby_lokalise_api/collections/order.rb +0 -13
- data/lib/ruby_lokalise_api/collections/payment_card.rb +0 -13
- data/lib/ruby_lokalise_api/collections/project.rb +0 -13
- data/lib/ruby_lokalise_api/collections/project_comment.rb +0 -13
- data/lib/ruby_lokalise_api/collections/project_language.rb +0 -13
- data/lib/ruby_lokalise_api/collections/queued_process.rb +0 -15
- data/lib/ruby_lokalise_api/collections/screenshot.rb +0 -13
- data/lib/ruby_lokalise_api/collections/segment.rb +0 -15
- data/lib/ruby_lokalise_api/collections/snapshot.rb +0 -13
- data/lib/ruby_lokalise_api/collections/system_language.rb +0 -13
- data/lib/ruby_lokalise_api/collections/task.rb +0 -13
- data/lib/ruby_lokalise_api/collections/team.rb +0 -13
- data/lib/ruby_lokalise_api/collections/team_user.rb +0 -13
- data/lib/ruby_lokalise_api/collections/team_user_group.rb +0 -15
- data/lib/ruby_lokalise_api/collections/translation.rb +0 -13
- data/lib/ruby_lokalise_api/collections/translation_provider.rb +0 -13
- data/lib/ruby_lokalise_api/collections/webhook.rb +0 -13
- data/lib/ruby_lokalise_api/oauth2/refresh.rb +0 -16
- data/lib/ruby_lokalise_api/oauth2/token.rb +0 -16
- data/lib/ruby_lokalise_api/resources/key_comment.rb +0 -19
- data/lib/ruby_lokalise_api/resources/project_comment.rb +0 -10
- data/lib/ruby_lokalise_api/rest/jwt.rb +0 -15
- data/lib/ruby_lokalise_api/utils/attribute_helpers.rb +0 -86
- data/lib/ruby_lokalise_api/utils/endpoint_helpers.rb +0 -14
- data/lib/ruby_lokalise_api/utils/string_utils.rb +0 -33
|
@@ -3,25 +3,10 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Resources
|
|
5
5
|
class Snapshot < Base
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
MAIN_PARAMS = %i[project_id snapshot_id].freeze
|
|
7
|
+
no_support_for %i[update reload_data]
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
self.class.restore @client, @path
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
class << self
|
|
14
|
-
def restore(client, path, *_args)
|
|
15
|
-
klass = RubyLokaliseApi::Resources::Project
|
|
16
|
-
klass.new post(path, client),
|
|
17
|
-
->(project_id, *_ids) { klass.endpoint(project_id) }
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def endpoint(project_id, snapshot_id = nil)
|
|
21
|
-
path_from projects: project_id,
|
|
22
|
-
snapshots: snapshot_id
|
|
23
|
-
end
|
|
24
|
-
end
|
|
9
|
+
delegate_call :restore, :restore_snapshot
|
|
25
10
|
end
|
|
26
11
|
end
|
|
27
12
|
end
|
|
@@ -3,15 +3,7 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Resources
|
|
5
5
|
class Task < Base
|
|
6
|
-
|
|
7
|
-
supports :update, :destroy, [:reload_data, '', :find]
|
|
8
|
-
|
|
9
|
-
class << self
|
|
10
|
-
def endpoint(project_id, task_id = nil)
|
|
11
|
-
path_from projects: project_id,
|
|
12
|
-
tasks: task_id
|
|
13
|
-
end
|
|
14
|
-
end
|
|
6
|
+
MAIN_PARAMS = %i[project_id task_id].freeze
|
|
15
7
|
end
|
|
16
8
|
end
|
|
17
9
|
end
|
|
@@ -3,15 +3,7 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Resources
|
|
5
5
|
class TeamUser < Base
|
|
6
|
-
|
|
7
|
-
supports :update, :destroy, [:reload_data, '', :find]
|
|
8
|
-
|
|
9
|
-
class << self
|
|
10
|
-
def endpoint(team_id, team_user_id = nil)
|
|
11
|
-
path_from teams: team_id,
|
|
12
|
-
users: team_user_id
|
|
13
|
-
end
|
|
14
|
-
end
|
|
6
|
+
MAIN_PARAMS = %i[team_id user_id].freeze
|
|
15
7
|
end
|
|
16
8
|
end
|
|
17
9
|
end
|
|
@@ -3,11 +3,16 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Resources
|
|
5
5
|
class TeamUserBillingDetails < Base
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
MAIN_PARAMS = %i[team_id].freeze
|
|
7
|
+
no_support_for %i[destroy]
|
|
8
|
+
|
|
9
|
+
def update(params)
|
|
10
|
+
response = reinit_endpoint(params).do_put
|
|
11
|
+
|
|
12
|
+
# We must patch content because the API does not return team_id and it's mandatory to build resource URL
|
|
13
|
+
response.patch_content_with 'team_id', @team_id
|
|
14
|
+
|
|
15
|
+
self.class.new response
|
|
11
16
|
end
|
|
12
17
|
end
|
|
13
18
|
end
|
|
@@ -3,21 +3,13 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Resources
|
|
5
5
|
class TeamUserGroup < Base
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
supports :update, :destroy,
|
|
9
|
-
[:add_projects, '/projects/add', :update],
|
|
10
|
-
[:remove_projects, '/projects/remove', :update],
|
|
11
|
-
[:add_users, '/members/add', :update],
|
|
12
|
-
[:remove_users, '/members/remove', :update],
|
|
13
|
-
[:reload_data, '', :find]
|
|
6
|
+
MAIN_PARAMS = %i[team_id group_id].freeze
|
|
7
|
+
DATA_KEY = 'group'
|
|
14
8
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|
|
9
|
+
delegate_call :add_projects, :add_projects_to_group
|
|
10
|
+
delegate_call :remove_projects, :remove_projects_from_group
|
|
11
|
+
delegate_call :add_members, :add_members_to_group
|
|
12
|
+
delegate_call :remove_members, :remove_members_from_group
|
|
21
13
|
end
|
|
22
14
|
end
|
|
23
15
|
end
|
|
@@ -3,15 +3,8 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Resources
|
|
5
5
|
class Translation < Base
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class << self
|
|
10
|
-
def endpoint(project_id, translation_id = nil)
|
|
11
|
-
path_from projects: project_id,
|
|
12
|
-
translations: translation_id
|
|
13
|
-
end
|
|
14
|
-
end
|
|
6
|
+
MAIN_PARAMS = %i[project_id translation_id].freeze
|
|
7
|
+
no_support_for %i[destroy]
|
|
15
8
|
end
|
|
16
9
|
end
|
|
17
10
|
end
|
|
@@ -3,15 +3,8 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Resources
|
|
5
5
|
class TranslationProvider < Base
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class << self
|
|
10
|
-
def endpoint(team_id, provider_id = nil)
|
|
11
|
-
path_from teams: team_id,
|
|
12
|
-
translation_providers: provider_id
|
|
13
|
-
end
|
|
14
|
-
end
|
|
6
|
+
MAIN_PARAMS = %i[team_id provider_id].freeze
|
|
7
|
+
no_support_for %i[update destroy]
|
|
15
8
|
end
|
|
16
9
|
end
|
|
17
10
|
end
|
|
@@ -3,23 +3,9 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Resources
|
|
5
5
|
class Webhook < Base
|
|
6
|
-
|
|
7
|
-
supports :update, :destroy, [:reload_data, '', :find]
|
|
6
|
+
MAIN_PARAMS = %i[project_id webhook_id].freeze
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
self.class.regenerate_secret @client, "#{@path}/secret/regenerate"
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
class << self
|
|
14
|
-
def regenerate_secret(client, path, *_args)
|
|
15
|
-
patch(path, client)['content']
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def endpoint(project_id, webhook_id = nil, *actions)
|
|
19
|
-
path_from projects: project_id,
|
|
20
|
-
webhooks: [webhook_id, *actions]
|
|
21
|
-
end
|
|
22
|
-
end
|
|
8
|
+
delegate_call :regenerate_secret, :regenerate_webhook_secret
|
|
23
9
|
end
|
|
24
10
|
end
|
|
25
11
|
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RubyLokaliseApi
|
|
4
|
+
# This class is utilized to prepare Lokalise API response
|
|
5
|
+
class Response
|
|
6
|
+
# Lokalise returns pagination info in special headers
|
|
7
|
+
PAGINATION_HEADERS = %w[x-pagination-total-count x-pagination-page-count x-pagination-limit
|
|
8
|
+
x-pagination-page].freeze
|
|
9
|
+
|
|
10
|
+
attr_reader :content, :endpoint, :headers
|
|
11
|
+
|
|
12
|
+
def initialize(body, endpoint, raw_headers = {})
|
|
13
|
+
@content = body
|
|
14
|
+
@endpoint = endpoint
|
|
15
|
+
@headers = extract_headers_from raw_headers
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Adds attribute to the raw content returned by the API.
|
|
19
|
+
# Sometimes this is required to store important data like team_id or project_id
|
|
20
|
+
# that is not returned in the response but required to properly build resources URIs
|
|
21
|
+
def patch_content_with(attribute, value)
|
|
22
|
+
@content[attribute] = value
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Sets endpoint to a new value.
|
|
26
|
+
# This is required in rare cases when the response contains a resource of different kind.
|
|
27
|
+
# For example, when restoring a snapshot, it returns a new project which means that
|
|
28
|
+
# initially we were working with a snapshots endpoint but the response should contain
|
|
29
|
+
# the projects endpoint to properly preserve method chaining
|
|
30
|
+
def patch_endpoint_with(new_endpoint)
|
|
31
|
+
@endpoint = new_endpoint
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Returns an array of pagination headers
|
|
35
|
+
def pagination_headers
|
|
36
|
+
self.class.const_get(:PAGINATION_HEADERS)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
private
|
|
40
|
+
|
|
41
|
+
# Keep only pagination headers
|
|
42
|
+
def extract_headers_from(raw_headers)
|
|
43
|
+
raw_headers.
|
|
44
|
+
to_h.
|
|
45
|
+
keep_if { |header, _value| pagination_headers.include?(header) }.
|
|
46
|
+
transform_keys(&:to_sym).
|
|
47
|
+
transform_values(&:to_i)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -3,66 +3,91 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module Branches
|
|
6
|
-
# Returns
|
|
6
|
+
# Returns project branches
|
|
7
7
|
#
|
|
8
8
|
# @see https://developers.lokalise.com/reference/list-all-branches
|
|
9
|
-
# @return [RubyLokaliseApi::
|
|
9
|
+
# @return [RubyLokaliseApi::Collections::Branches]
|
|
10
10
|
# @param project_id [String]
|
|
11
|
-
# @param
|
|
12
|
-
def branches(project_id,
|
|
13
|
-
|
|
11
|
+
# @param req_params [Hash]
|
|
12
|
+
def branches(project_id, req_params = {})
|
|
13
|
+
name = 'Branches'
|
|
14
|
+
params = { query: project_id, req: req_params }
|
|
15
|
+
|
|
16
|
+
data = endpoint(name: name, params: params).do_get
|
|
17
|
+
|
|
18
|
+
collection name, data
|
|
14
19
|
end
|
|
15
20
|
|
|
16
|
-
#
|
|
21
|
+
# Returns a single branch
|
|
17
22
|
#
|
|
18
|
-
# @see https://developers.lokalise.com/reference/
|
|
23
|
+
# @see https://developers.lokalise.com/reference/retrieve-a-branch
|
|
19
24
|
# @return [RubyLokaliseApi::Resources::Branch]
|
|
20
25
|
# @param project_id [String]
|
|
21
|
-
# @param
|
|
22
|
-
def
|
|
23
|
-
|
|
26
|
+
# @param branch_id [String, Integer]
|
|
27
|
+
def branch(project_id, branch_id)
|
|
28
|
+
params = { query: [project_id, branch_id] }
|
|
29
|
+
|
|
30
|
+
data = endpoint(name: 'Branches', params: params).do_get
|
|
31
|
+
|
|
32
|
+
resource 'Branch', data
|
|
24
33
|
end
|
|
25
34
|
|
|
26
|
-
#
|
|
35
|
+
# Creates a branch
|
|
27
36
|
#
|
|
28
|
-
# @see https://developers.lokalise.com/reference/
|
|
37
|
+
# @see https://developers.lokalise.com/reference/create-a-branch
|
|
29
38
|
# @return [RubyLokaliseApi::Resources::Branch]
|
|
30
39
|
# @param project_id [String]
|
|
31
|
-
# @param
|
|
32
|
-
def
|
|
33
|
-
|
|
40
|
+
# @param req_params [Hash]
|
|
41
|
+
def create_branch(project_id, req_params)
|
|
42
|
+
params = { query: project_id, req: req_params }
|
|
43
|
+
|
|
44
|
+
data = endpoint(name: 'Branches', params: params).do_post
|
|
45
|
+
|
|
46
|
+
resource 'Branch', data
|
|
34
47
|
end
|
|
35
48
|
|
|
36
|
-
# Updates
|
|
49
|
+
# Updates a branch
|
|
37
50
|
#
|
|
38
51
|
# @see https://developers.lokalise.com/reference/update-a-branch
|
|
39
52
|
# @return [RubyLokaliseApi::Resources::Branch]
|
|
40
53
|
# @param project_id [String]
|
|
41
54
|
# @param branch_id [String, Integer]
|
|
42
|
-
# @param
|
|
43
|
-
def update_branch(project_id, branch_id,
|
|
44
|
-
|
|
55
|
+
# @param req_params [Hash]
|
|
56
|
+
def update_branch(project_id, branch_id, req_params = {})
|
|
57
|
+
params = { query: [project_id, branch_id], req: req_params }
|
|
58
|
+
|
|
59
|
+
data = endpoint(name: 'Branches', params: params).do_put
|
|
60
|
+
|
|
61
|
+
resource 'Branch', data
|
|
45
62
|
end
|
|
46
63
|
|
|
47
|
-
# Deletes branch
|
|
64
|
+
# Deletes a branch
|
|
48
65
|
#
|
|
49
66
|
# @see https://developers.lokalise.com/reference/delete-a-branch
|
|
50
|
-
# @return [
|
|
67
|
+
# @return [RubyLokaliseApi::Generics::DeletedResource]
|
|
51
68
|
# @param project_id [String]
|
|
52
69
|
# @param branch_id [String, Integer]
|
|
53
70
|
def destroy_branch(project_id, branch_id)
|
|
54
|
-
|
|
71
|
+
params = { query: [project_id, branch_id] }
|
|
72
|
+
|
|
73
|
+
data = endpoint(name: 'Branches', params: params).do_delete
|
|
74
|
+
|
|
75
|
+
RubyLokaliseApi::Generics::DeletedResource.new data.content
|
|
55
76
|
end
|
|
56
77
|
|
|
57
|
-
# Merges
|
|
78
|
+
# Merges two branches
|
|
58
79
|
#
|
|
59
80
|
# @see https://developers.lokalise.com/reference/merge-a-branch
|
|
60
|
-
# @return [
|
|
81
|
+
# @return [RubyLokaliseApi::Generics::MergedBranches]
|
|
61
82
|
# @param project_id [String]
|
|
62
83
|
# @param branch_id [String, Integer]
|
|
63
|
-
# @param
|
|
64
|
-
def merge_branch(project_id, branch_id,
|
|
65
|
-
|
|
84
|
+
# @param req_params [Hash]
|
|
85
|
+
def merge_branch(project_id, branch_id, req_params)
|
|
86
|
+
params = { query: [project_id, branch_id, :merge], req: req_params }
|
|
87
|
+
|
|
88
|
+
data = endpoint(name: 'Branches', params: params).do_post
|
|
89
|
+
|
|
90
|
+
RubyLokaliseApi::Generics::MergedBranches.new data.content
|
|
66
91
|
end
|
|
67
92
|
end
|
|
68
93
|
end
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module Comments
|
|
6
|
-
|
|
6
|
+
using RubyLokaliseApi::Utils::Classes
|
|
7
|
+
|
|
8
|
+
# Returns a single key comment
|
|
7
9
|
#
|
|
8
10
|
# @see https://developers.lokalise.com/reference/retrieve-a-comment
|
|
9
11
|
# @return [RubyLokaliseApi::Resources::Comment]
|
|
@@ -11,50 +13,73 @@ module RubyLokaliseApi
|
|
|
11
13
|
# @param key_id [String, Integer]
|
|
12
14
|
# @param comment_id [String, Integer]
|
|
13
15
|
def comment(project_id, key_id, comment_id)
|
|
14
|
-
|
|
16
|
+
params = { query: [project_id, key_id, comment_id] }
|
|
17
|
+
|
|
18
|
+
data = endpoint(name: 'KeyComments', params: params).do_get
|
|
19
|
+
|
|
20
|
+
resource 'Comment', data
|
|
15
21
|
end
|
|
16
22
|
|
|
17
|
-
# Returns all comments for
|
|
23
|
+
# Returns all comments for a key
|
|
18
24
|
#
|
|
19
|
-
# @see https://developers.lokalise.com/reference/list-
|
|
20
|
-
# @return [RubyLokaliseApi::
|
|
25
|
+
# @see https://developers.lokalise.com/reference/list-key-comments
|
|
26
|
+
# @return [RubyLokaliseApi::Collections::KeyComments]
|
|
21
27
|
# @param project_id [String]
|
|
22
|
-
# @param
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
# @param key_id [String, Integer]
|
|
29
|
+
# @param req_params [Hash]
|
|
30
|
+
def comments(project_id, key_id, req_params = {})
|
|
31
|
+
name = 'KeyComments'
|
|
32
|
+
params = { query: [project_id, key_id], req: req_params }
|
|
33
|
+
|
|
34
|
+
data = endpoint(name: name, params: params).do_get
|
|
35
|
+
|
|
36
|
+
collection name, data
|
|
25
37
|
end
|
|
26
38
|
|
|
27
|
-
# Returns all comments for
|
|
39
|
+
# Returns all comments for a project
|
|
28
40
|
#
|
|
29
|
-
# @see https://developers.lokalise.com/reference/list-
|
|
30
|
-
# @return [RubyLokaliseApi::
|
|
41
|
+
# @see https://developers.lokalise.com/reference/list-project-comments
|
|
42
|
+
# @return [RubyLokaliseApi::Collections::ProjectComments]
|
|
31
43
|
# @param project_id [String]
|
|
32
|
-
# @param
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
44
|
+
# @param req_params [Hash]
|
|
45
|
+
def project_comments(project_id, req_params = {})
|
|
46
|
+
name = 'ProjectComments'
|
|
47
|
+
params = { query: project_id, req: req_params }
|
|
48
|
+
|
|
49
|
+
data = endpoint(name: name, params: params).do_get
|
|
50
|
+
|
|
51
|
+
collection name, data
|
|
36
52
|
end
|
|
37
53
|
|
|
38
|
-
# Creates one or
|
|
54
|
+
# Creates one or multiple comments for a key
|
|
39
55
|
#
|
|
40
56
|
# @see https://developers.lokalise.com/reference/create-comments
|
|
41
|
-
# @return [RubyLokaliseApi::
|
|
57
|
+
# @return [RubyLokaliseApi::Collections::KeyComments]
|
|
42
58
|
# @param project_id [String]
|
|
43
59
|
# @param key_id [String, Integer]
|
|
44
|
-
# @param
|
|
45
|
-
def create_comments(project_id, key_id,
|
|
46
|
-
|
|
60
|
+
# @param req_params [Hash, Array]
|
|
61
|
+
def create_comments(project_id, key_id, req_params)
|
|
62
|
+
name = 'KeyComments'
|
|
63
|
+
params = { query: [project_id, key_id], req: req_params.to_array_obj(:comments) }
|
|
64
|
+
|
|
65
|
+
data = endpoint(name: name, params: params).do_post
|
|
66
|
+
|
|
67
|
+
collection name, data
|
|
47
68
|
end
|
|
48
69
|
|
|
49
|
-
# Deletes
|
|
70
|
+
# Deletes a single key comment
|
|
50
71
|
#
|
|
51
72
|
# @see https://developers.lokalise.com/reference/delete-a-comment
|
|
52
|
-
# @return [
|
|
73
|
+
# @return [RubyLokaliseApi::Generics::DeletedResource]
|
|
53
74
|
# @param project_id [String]
|
|
54
75
|
# @param key_id [String, Integer]
|
|
55
76
|
# @param comment_id [String, Integer]
|
|
56
77
|
def destroy_comment(project_id, key_id, comment_id)
|
|
57
|
-
|
|
78
|
+
params = { query: [project_id, key_id, comment_id] }
|
|
79
|
+
|
|
80
|
+
data = endpoint(name: 'KeyComments', params: params).do_delete
|
|
81
|
+
|
|
82
|
+
RubyLokaliseApi::Generics::DeletedResource.new data.content
|
|
58
83
|
end
|
|
59
84
|
end
|
|
60
85
|
end
|
|
@@ -3,55 +3,79 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module Contributors
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
# @see https://developers.lokalise.com/reference/list-all-contributors
|
|
9
|
-
# @return [RubyLokaliseApi::Collection::Contributor<RubyLokaliseApi::Resources::Contributor>]
|
|
10
|
-
# @param project_id [String]
|
|
11
|
-
# @param params [Hash]
|
|
12
|
-
def contributors(project_id, params = {})
|
|
13
|
-
c_r RubyLokaliseApi::Collections::Contributor, :all, project_id, params
|
|
14
|
-
end
|
|
6
|
+
using RubyLokaliseApi::Utils::Classes
|
|
15
7
|
|
|
16
|
-
# Returns a single contributor
|
|
8
|
+
# Returns a single contributor
|
|
17
9
|
#
|
|
18
10
|
# @see https://developers.lokalise.com/reference/retrieve-a-contributor
|
|
19
11
|
# @return [RubyLokaliseApi::Resources::Contributor]
|
|
20
12
|
# @param project_id [String]
|
|
21
13
|
# @param contributor_id [String, Integer]
|
|
22
14
|
def contributor(project_id, contributor_id)
|
|
23
|
-
|
|
15
|
+
params = { query: [project_id, contributor_id] }
|
|
16
|
+
|
|
17
|
+
data = endpoint(name: 'Contributors', params: params).do_get
|
|
18
|
+
|
|
19
|
+
resource 'Contributor', data
|
|
24
20
|
end
|
|
25
21
|
|
|
26
|
-
#
|
|
22
|
+
# Returns project contributors
|
|
23
|
+
#
|
|
24
|
+
# @see https://developers.lokalise.com/reference/list-all-contributors
|
|
25
|
+
# @return [RubyLokaliseApi::Collections::Contributors]
|
|
26
|
+
# @param project_id [String]
|
|
27
|
+
# @param req_params [Hash]
|
|
28
|
+
def contributors(project_id, req_params = {})
|
|
29
|
+
name = 'Contributors'
|
|
30
|
+
params = { query: project_id, req: req_params }
|
|
31
|
+
|
|
32
|
+
data = endpoint(name: name, params: params).do_get
|
|
33
|
+
|
|
34
|
+
collection name, data
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Creates one or multiple contributors for a project
|
|
27
38
|
#
|
|
28
39
|
# @see https://developers.lokalise.com/reference/create-contributors
|
|
29
|
-
# @return [RubyLokaliseApi::
|
|
40
|
+
# @return [RubyLokaliseApi::Collections::Contributors]
|
|
30
41
|
# @param project_id [String]
|
|
31
|
-
# @param
|
|
32
|
-
def create_contributors(project_id,
|
|
33
|
-
|
|
42
|
+
# @param req_params [Hash, Array]
|
|
43
|
+
def create_contributors(project_id, req_params)
|
|
44
|
+
name = 'Contributors'
|
|
45
|
+
params = { query: project_id, req: req_params.to_array_obj(:contributors) }
|
|
46
|
+
|
|
47
|
+
data = endpoint(name: name, params: params).do_post
|
|
48
|
+
|
|
49
|
+
collection name, data
|
|
34
50
|
end
|
|
35
51
|
|
|
36
|
-
# Updates
|
|
52
|
+
# Updates a contributor for a project
|
|
37
53
|
#
|
|
38
54
|
# @see https://developers.lokalise.com/reference/update-a-contributor
|
|
39
55
|
# @return [RubyLokaliseApi::Resources::Contributor]
|
|
40
56
|
# @param project_id [String]
|
|
41
57
|
# @param contributor_id [String, Integer]
|
|
42
|
-
# @param
|
|
43
|
-
def update_contributor(project_id, contributor_id,
|
|
44
|
-
|
|
58
|
+
# @param req_params [Hash]
|
|
59
|
+
def update_contributor(project_id, contributor_id, req_params)
|
|
60
|
+
params = { query: [project_id, contributor_id], req: req_params }
|
|
61
|
+
|
|
62
|
+
data = endpoint(name: 'Contributors', params: params).do_put
|
|
63
|
+
|
|
64
|
+
resource 'Contributor', data
|
|
45
65
|
end
|
|
46
66
|
|
|
47
|
-
# Deletes contributor
|
|
67
|
+
# Deletes a single contributor from the project
|
|
48
68
|
#
|
|
49
69
|
# @see https://developers.lokalise.com/reference/delete-a-contributor
|
|
50
|
-
# @return [
|
|
70
|
+
# @return [RubyLokaliseApi::Generics::DeletedResource]
|
|
51
71
|
# @param project_id [String]
|
|
52
72
|
# @param contributor_id [String, Integer]
|
|
53
73
|
def destroy_contributor(project_id, contributor_id)
|
|
54
|
-
|
|
74
|
+
params = { query: [project_id, contributor_id] }
|
|
75
|
+
|
|
76
|
+
data = endpoint(name: 'Contributors', params: params).do_delete
|
|
77
|
+
|
|
78
|
+
RubyLokaliseApi::Generics::DeletedResource.new data.content
|
|
55
79
|
end
|
|
56
80
|
end
|
|
57
81
|
end
|