Skip to content

bernardkroes/split-counters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Counters for Split

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •