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:
Otherwise install the gem:
gem install split-counters
and require it in your project:
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
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.
