0.0
No commit activity in last 3 years
No release in over 3 years
This gem adds counters to Split
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 2.14

Runtime

>= 0.7.0
 Project Readme

Split::Counters

An extension to Split to add counters per experiment and alternative.

Requirements

The split gem and its dependencies.

Setup

If you are using bundler add split to your Gemfile:

gem 'split-counters', :require => 'split/counters'

and if you want to use the separate 'counters' dashboard:

gem 'split-counters', :require => ['split/counters', 'split/countersdashboard']

Then run:

bundle install

Otherwise install the gem:

gem install split-counters

and require it in your project:

require 'split/counters'

Usage

A simple example in a Rails app could be:

def index
  the_ab_test = ab_test("exp", "alt1", "alt2")

  if !exclude_visitor?
    ab_counter_inc("IndexViews", "exp", the_ab_test)
    ab_counter_inc("PageViews", "exp", ab_test("exp", "alt1", "alt2"))
  end
end

def other
  the_ab_test = ab_test("exp", "alt1", "alt2")

  if !exclude_visitor?
    ab_counter_inc("OtherViews", "exp", the_ab_test)
    ab_counter_inc("PageViews", "exp", ab_test("exp", "alt1", "alt2"))
  end
end

Counter Dashboard

Counters Dashboard

To enable the 'counters' dashboard (and the Split dashboard), add this to your routes:

  class Whitelist
    def matches?(request) 
      (request.remote_ip == '127.0.0.1') || (Rails.env == 'development')
    end
  end
  mount Split::Dashboard, :at => 'split', :constraints => Whitelist.new
  mount Split::Countersdashboard, :at => 'splitcounters', :constraints => Whitelist.new

This will make the counters dashboard available at /splitcounters (in development mode or from 127.0.0.1).

Development

Source hosted at GitHub. Report Issues/Feature requests on GitHub Issues.

Tests can be run with rake spec

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

Copyright

Copyright (c) 2014 Bernard Kroes. See LICENSE for details.