mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
67 lines
2.3 KiB
Markdown
67 lines
2.3 KiB
Markdown
---
|
|
id: ruby_sdk
|
|
title: Ruby SDK
|
|
---
|
|
|
|
> You will need your `API URL` and your `API token` in order to connect the Client SDK to you Unleash instance. You can find this information in the “Admin” section Unleash management UI. [Read more](../user_guide/api-token)
|
|
|
|
```sh
|
|
require 'unleash'
|
|
|
|
@unleash = Unleash::Client.new(
|
|
url: '<API url>',
|
|
app_name: 'simple-test',
|
|
custom_http_headers = {'Authorization': '<API token>'},
|
|
)
|
|
```
|
|
|
|
### Sample usage {#sample-usage}
|
|
|
|
To evaluate a feature toggle, you can use:
|
|
|
|
```ruby
|
|
if @unleash.is_enabled? "AwesomeFeature", @unleash_context
|
|
puts "AwesomeFeature is enabled"
|
|
end
|
|
```
|
|
|
|
If the feature is not found in the server, it will by default return false. However you can override that by setting the default return value to `true`:
|
|
|
|
```ruby
|
|
if @unleash.is_enabled? "AwesomeFeature", @unleash_context, true
|
|
puts "AwesomeFeature is enabled by default"
|
|
end
|
|
```
|
|
|
|
Alternatively by using `if_enabled` you can send a code block to be executed as a parameter:
|
|
|
|
```ruby
|
|
@unleash.if_enabled "AwesomeFeature", @unleash_context, true do
|
|
puts "AwesomeFeature is enabled by default"
|
|
end
|
|
```
|
|
|
|
### Variations {#variations}
|
|
|
|
If no variant is found in the server, use the fallback variant.
|
|
|
|
```ruby
|
|
fallback_variant = Unleash::Variant.new(name: 'default', enabled: true, payload: {"color" => "blue"})
|
|
variant = @unleash.get_variant "ColorVariants", @unleash_context, fallback_variant
|
|
|
|
puts "variant color is: #{variant.payload.fetch('color')}"
|
|
```
|
|
|
|
## Client methods {#client-methods}
|
|
|
|
| Method Name | Description | Return Type |
|
|
| --- | --- | --- |
|
|
| `is_enabled?` | Check if feature toggle is to be enabled or not. | Boolean |
|
|
| `enabled?` | Alias to the `is_enabled?` method. But more ruby idiomatic. | Boolean |
|
|
| `if_enabled` | Run a code block, if a feature is enabled. | `yield` |
|
|
| `get_variant` | Get variant for a given feature | `Unleash::Variant` |
|
|
| `shutdown` | Save metrics to disk, flush metrics to server, and then kill ToggleFetcher and MetricsReporter threads. A safe shutdown. Not really useful in long running applications, like web applications. | nil |
|
|
| `shutdown!` | Kill ToggleFetcher and MetricsReporter threads immediately. | nil |
|
|
|
|
Read more at [github.com/Unleash/unleash-client-ruby](https://github.com/Unleash/unleash-client-ruby)
|