public
Description: Experiment Driven Development for Rails
Homepage: http://vanity.labnotes.org
Clone URL: git://github.com/assaf/vanity.git
vanity /
name age message
file CHANGELOG Mon Dec 14 13:28:46 -0800 2009 Refined metrics documentation. [assaf]
file MIT-LICENSE Fri Nov 13 17:20:55 -0800 2009 Changed to MIT license. [assaf]
file README.rdoc Tue Dec 01 10:36:56 -0800 2009 Fixed A/B alternative choosing to work with jQu... [assaf]
file Rakefile Thu Dec 17 13:36:02 -0800 2009 Tag releases with vX.Y.Z (see http://semver.org/) [assaf]
directory bin/ Fri Nov 13 14:25:49 -0800 2009 Version bump. More formal command names. [assaf]
directory doc/ Thu Dec 17 17:35:29 -0800 2009 More dynamic in the layout. [assaf]
directory lib/ Fri Dec 11 20:18:25 -0800 2009 Better error handling when calling Vanity.model... [assaf]
directory test/ Thu Dec 10 13:09:07 -0800 2009 Using contexts, based on code from http://gist.... [assaf]
file vanity.gemspec Mon Dec 07 14:24:37 -0800 2009 Fixed 1.8.6 compatibility issue. Bumped version... [assaf]
directory vendor/ Mon Nov 30 10:29:30 -0800 2009 Switched to redis-rb from http://github.com/ezm... [assaf]
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:

  gem.config "vanity"

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 --output vanity.html

Building From Source

To run the test suite for the first time:

  $ gem install rails mocha timecop
  $ rake

You can also +rake test+ if you insist on being explicit.

To build the documentation:

  $ gem install yardoc jekyll
  $ 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.