There's a lot of open issues
Amplitude Experiment Ruby Server SDK
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
 Dependencies

Development

~> 13.0
= 6.4
~> 3.6
~> 0.21
~> 3.14
~> 0.9
~> 4.0
= 1.21

Runtime

~> 1.15.5
 Project Readme


Gem Version

Experiment Ruby SDK

Amplitude Ruby Server SDK for Experiment.

Installation

Into Gemfile from rubygems.org:

gem 'amplitude-experiment'

Into environment gems from rubygems.org:

gem install 'amplitude-experiment'

To install beta versions:

gem install amplitude-experiment --pre

Remote Evaluation Quick Start

require 'amplitude-experiment'

# (1) Get your deployment's API key
apiKey = 'YOUR-API-KEY'

# (2) Initialize the experiment client
experiment = AmplitudeExperiment.initialize_remote(api_key)

# (3) Fetch variants for a user
user = AmplitudeExperiment::User.new(user_id: 'user@company.com', device_id: 'abcezas123', user_properties: {'premium' => true})

# (4) Lookup a flag's variant
# 
# To fetch asynchronous
experiment.fetch_async(user) do |_, variants|
  variant = variants['YOUR-FLAG-KEY']
  unless variant.nil?
    if variant.value == 'on'
      # Flag is on
    else
      # Flag is off
    end
  end
end

# To fetch synchronous
variants = experiment.fetch(user)
variant = variants['YOUR-FLAG-KEY']
unless variant.nil?
  if variant.value == 'on'
    # Flag is on
  else
    # Flag is off
  end
end

Local Evaluation Quick Start

require 'amplitude-experiment'

# (1) Get your deployment's API key
apiKey = 'YOUR-API-KEY'

# (2) Initialize the experiment client
experiment = AmplitudeExperiment.initialize_local(api_key)

# (3) Start the local evaluation client
experiment.start

# (4) Evaluate a user
user = AmplitudeExperiment::User.new(user_id: 'user@company.com', device_id: 'abcezas123', user_properties: {'premium' => true})
variants = experiment.evaluate(user)
variant = variants['YOUR-FLAG-KEY']
unless variant.nil?
  if variant.value == 'on'
    # Flag is on
  else
    # Flag is off
  end
end

More Information

Please visit our 💯Developer Center for more instructions on using our the SDK.

See our Experiment Ruby SDK Docs for a list and description of all available SDK methods.

See our Local Evaluation Repo for more details about local evaluation binary logic.

Need Help?

If you have any problems or issues over our SDK, feel free to create a github issue or submit a request on Amplitude Help.