Vanity is an Experiment Driven Development framework for Rails.
-
All about Vanity: vanity.labnotes.org
-
On github: github.com/assaf/vanity
-
Vanity requires Redis 1.0 or later.
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
To run the test suite for the first time:
$ bundle install $ bundle exec rake
You can also run +rake test+ if you insist on being explicit.
Vanity continues to operate even if Redis is non-response. To run tests in a mode that simulates this condition:
$ DISCONNECTED=true rake test: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
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.