Vanity is an Experiment Driven Development framework for Rails.

A/B Testing With Rails (In 5 Easy Steps)

Step 1: Start using Vanity in your Rails application:

  Rails::Initializer.run do |config|
    gem.config "vanity"

    config.after_initialize do
      require "vanity"
    end
  end

And:

  class ApplicationController < ActionController::Base
    use_vanity :current_user
  end

Step 2: Define your first A/B test. This experiment goes in the file experiments/price_options.rb:

  ab_test "Price options" do
    description "Mirror, mirror on the wall, who's the better price of all?"
    alternatives 19, 25, 29
    metrics :signups
  end

Step 3: Present the different options to your users:

  <h2>Get started for only $<%= ab_test :price_options %> a month!</h2>

Step 4: Measure conversion:

  class SignupController < ApplicationController
    def 
      @account = .new(params[:account])
      if @account.save
        track! :signups
        redirect_to @acccount
      else
        render action: :offer
      end
    end
  end

Step 5: Check the report:

  vanity report --output vanity.html

Building From Source

To run the test suite for the first time:

  $ rake test:setup test

Vanity is tested against multiple Ruby implementations. To run the full test suite against all Ruby implementations and bundled adapters:

  $ rake test:rubies
  $ # only ruby 1.9.2
  $ rake test:rubies[1.9.2]
  $ # only redis
  $ rake test:adapters[redis]

To build the documentation:

 
  $ rake docs
  $ open html/index.html

To clean up after yourself:

  $ rake clobber

To package Vanity as a gem and install on your machine:

  $ rake install

Credits/License

Original code, copyright of Assaf Arkin, released under the MIT license.

Documentation available under the Creative Commons Attribution license.

For full list of credits and licenses: vanity.labnotes.org/credits.html.