Ruby interface for the Lokalise APIv2 that represents returned data as Ruby objects.
View the Project on GitHub lokalise/ruby-lokalise-api
@client.contributors(project_id, params = {}) # Input:
## project_id (string, required)
## params (hash)
### :page and :limit
# Output:
## Collection of contributors in the given project
For example:
project_id = '123.abc'
contributors = @client.contributors project_id, limit: 1, page: 2
contributors[0].fullname # => 'John Doe'
contributors[0].email # => 'test@example.com'
Alternatively:
project = @client.project project_id
contributors = project.contributors limit: 1, page: 2
@client.contributor(project_id, contributor_id) # Input:
## project_id (string, required)
## contributor_id (string, required) - named as "user_id" in the response
# Output:
## Contributor in the given project
For example:
project_id = '123.abc'
contributor_id = '1234'
contributor = @client.contributor project_id, contributor_id
contributor.user_id # => 1234
contributor.fullname # => 'John Doe'
contributor.email # => 'test@example.com'
Alternatively:
project = @client.project project_id
contributor = project.contributor contributor_id
@client.create_contributors(project_id, params) # Input:
## project_id (string, required)
## params (array of hashes or hash, required) - parameters for the newly created contributors. Pass array of hashes to create multiple contributors, or a hash to create a single contributor
### :email (string, required)
### :fullname (string)
### :is_admin (boolean)
### :is_reviewer (boolean)
### :languages (array of hashes, required if "is_admin" set to false) - possible languages attributes:
#### :lang_iso (string, required)
#### :is_writable (boolean)
### :admin_rights (array)
# Output:
## Collection of newly created contributors
For example:
params = {
email: 'test@example.com',
fullname: 'John Doe',
languages: [{
lang_iso: 'en'
},
{
lang_iso: 'lv'
}]
}
contributors = @client.create_contributors project_id, params
contributors[0].fullname # => 'John Doe'
Alternatively:
project = @client.project project_id
contributors = project.create_contributors params
@client.update_contributor(project_id, contributor_id, params) # Input:
## project_id (string, required)
## contributor_id (string, required)
## params (hash, required)
### :is_admin (boolean)
### :is_reviewer (boolean)
### :languages (array of hashes) - possible languages attributes:
#### :lang_iso (string, required)
#### :is_writable (boolean)
### :admin_rights (array)
# Output:
## Updated contributor
For example:
params = { languages: [{lang_iso: 'en'}] }
contributor = @client.update_contributor project_id, contributor_id, params
Alternatively:
contributor = @client.contributor project_id, contributor_id
contributor.update params
# OR
project = @client.project project_id
project.update_contributor contributor_id, params
@client.destroy_contributor(project_id, contributor_id) # Input:
## project_id (string, required)
## contributor_id (string, required)
# Output:
## Generic object with the project id and "contributor_deleted"=>true
For example:
response = @client.destroy_contributor project_id, contributor_id
response.contributor_deleted # => true
Alternatively:
contributor = @client.contributor project_id, contributor_id
response = contributor.destroy
# OR
project = @client.project project_id
response = project.destroy_contributor contributor_id