ruby-lokalise-api 7.2.0 → 8.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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 +31 -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 +18 -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 +33 -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 +24 -0
- data/lib/ruby_lokalise_api/utils/keys.rb +29 -0
- data/lib/ruby_lokalise_api/utils/loaders.rb +24 -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 +2 -2
- metadata +76 -41
- 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
|