Lokalise APIv2 Ruby SDK

Ruby interface for the Lokalise APIv2 that represents returned data as Ruby objects.

View the Project on GitHub lokalise/ruby-lokalise-api




Changelog

6.2.0 (02-Aug-2022)

New feature: added ability to access resources’ attributes with the [] notation. In other words, previously you could only write:

branch.branch_id
branch.name

Now you can also write:

branch[:branch_id]
branch['name']

This feature was introduced so that all resources can play nicely with methods like pluck.

6.1.0 (27-Jul-2022)

6.0.0 (11-Mar-2022)

require 'ruby-lokalise-api'

@client = Lokalise.client 'YOUR_TOKEN_HERE'

Now you should say:

require 'ruby_lokalise_api'

@client = RubyLokaliseApi.client 'YOUR_TOKEN_HERE'

5.0.0 (08-Feb-2022)

auth_client = RubyLokaliseApi.auth_client 'OAUTH2_CLIENT_ID', 'OAUTH2_CLIENT_SECRET'

# Generate authentication URL:
url = auth_client.auth scope: %w[read_projects write_tasks]

# Generate a new token:
response = auth_client.token 'secret code'
access_token = response['access_token']
refresh_token = response['refresh_token']

# Refresh an expired token:
response = auth_client.refresh('YOUR_REFRESH_TOKEN')['access_token']

# Use the access token to perform requests on the user's behalf:
@client = RubyLokaliseApi.oauth2_client access_token
@client.projects # list user's projects

4.5.1 (27-Jan-22)

4.5.0 (16-Dec-21)

4.4.0 (25-Oct-21)

@client = RubyLokaliseApi.oauth_client("TOKEN_OBTAINED_VIA_OAUTH2", params)
RubyLokaliseApi.reset_oauth_client! # effectively sets the `@oauth_client` to `nil`

4.3.1 (21-Sep-21)

4.3.0 (15-Jul-21)

client = RubyLokaliseApi.client('YOUR_TOKEN', enable_compression: true)

4.2.0 (28-Apr-21)

4.1.0 (01-Mar-21)

4.0.0 (02-Feb-21)

3.1.0 (08-Jul-20)

3.0.0 (18-May-20)

queued_process = @client.upload_file project_id,
                                     data: 'Base-64 encoded data... ZnI6DQogI...',
                                     filename: 'my_file.yml',
                                     lang_iso: 'en'

queued_process.status # => 'queued'
# ...after some time...
queued_process = queued_process.reload_data
queued_process.status # => 'finished'

2.10.0 (28-Feb-20)

2.9.0.1 (21-Jan-20)

2.9.0 (05-Jan-20)

2.8.0 (13-Nov-19)

2.7.0 (30-Oct-19)

2.6.1 (27-Sep-19)

2.6.0 (21-Aug-19)

2.5.0 (01-Aug-19)

2.4.0 (31-Jul-19)

2.3.0 (17-Jul-19)

2.2.0 (19-May-19)

2.1.1 (17-May-19)

2.1.0 (19-Mar-19)

2.0.1 (21-Feb-19)

2.0.0 (14-Dec-18)

1.1.0 (11-Dec-18)

1.0.1 (10-Dec-18)

1.0.0 (10-Dec-18)