1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
unleash.unleash/website/docs/sdks/ruby.md

67 lines
2.3 KiB
Markdown
Raw Normal View History

---
id: ruby_sdk
title: Ruby SDK
---
2021-05-18 13:31:54 +02:00
> 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)
2021-05-04 16:08:21 +02:00
```sh
require 'unleash'
2021-05-04 16:08:21 +02:00
@unleash = Unleash::Client.new(
url: '<API url>',
app_name: 'simple-test',
2021-05-18 13:31:54 +02:00
custom_http_headers = {'Authorization': '<API token>'},
)
```
### Sample usage {#sample-usage}
2021-05-21 22:26:56 +02:00
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}
2021-05-21 22:26:56 +02:00
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}
2021-05-21 22:26:56 +02:00
| 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 |
2021-05-04 16:08:21 +02:00
Read more at [github.com/Unleash/unleash-client-ruby](https://github.com/Unleash/unleash-client-ruby)