Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Experiment Driven Development for Ruby
Ruby JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
doc
lib
test
.autotest
.gitignore
.rvmrc
CHANGELOG
Gemfile
Gemfile.lock
MIT-LICENSE
README.rdoc
Rakefile
vanity.gemspec

README.rdoc

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 signup
    @account = 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

Contributing

  • Fork the project

  • Please use a topic branch to make your changes, it's easier to test them that way

  • Fix, patch, enhance, document, improve, sprinkle pixie dust

  • At minimum run rake test, if possible, please run rake test:all

  • Tests. Please. Run rake test, of if you can, rake test:all

  • Send a pull request on GitHub

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.

Something went wrong with that request. Please try again.