FeatureSignals

Ruby SDK

Thread-safe client for evaluating feature flags in Ruby applications.

Installation

ruby
# Gemfile
gem "featuresignals"

Requirements: Ruby 3.1+

Quick Start

ruby
require "featuresignals"

options = FeatureSignals::ClientOptions.new(env_key: "production")
client = FeatureSignals::Client.new("fs_srv_your_api_key", options)
client.wait_for_ready

user = FeatureSignals::EvalContext.new(
  key: "user-123",
  attributes: { "plan" => "pro" }
)

enabled = client.bool_variation("new-feature", user, false)
puts "Feature enabled: #{enabled}"

Rails Integration

ruby
# config/initializers/feature_signals.rb
Rails.application.config.to_prepare do
  options = FeatureSignals::ClientOptions.new(
    env_key: Rails.env.production? ? "production" : "development",
    streaming: true,
  )
  FEATURE_FLAGS = FeatureSignals::Client.new(
    ENV.fetch("FEATURESIGNALS_API_KEY"), options
  )
end

at_exit { FEATURE_FLAGS&.close }

Next Steps