NAME
    WWW::Sixpack - Perl client library for SeatGeek's Sixpack A/B testing
    framework http://sixpack.seatgeek.com/

SYNOPSIS
        use WWW::Sixpack;

        my $sixpack = WWW::Sixpack->new();

        # Participate in a test (creates the test if necessary)
        my $alternative = $sixpack->participate('new-test', [ 'alt-1', 'alt-2' ],
            { ip_address => $client_ip, user_agent => $client_ua,
              force => 'alt-2', traffic_fraction => 0.10 });

        if( $alternative->{alternative}{name} eq 'alt-1' ) {
            # show data for variant alt-1
        } else {
            # show data for variant alt-2
        }

        # Convert
        $sixpack->convert('new-test')

SUBROUTINES/METHODS
  new
    Constructs the WWW::Sixpack object. Options that can be passed in are:

    "host"
        The sixpack server (defaults to 'http://localhost:5000').

    "client_id"
        The client id if the "user" is known already. By default we generate
        a new UUID.

    "ua"
        The useragent to use (defaults to LWP::UserAgent).

  participate
    This function takes the following arguments:

    Arguments:

    "experiment"
        The name of the experiment. This will generate a new experiment when
        the name is unknown.

    "alternatives"
        At least two alternatives.

    "options"
        An optional hashref with the following options:

        "user_agent"
            User agent of the user making a request. Used for bot detection.

        "ip_address"
            IP address of user making a request. Used for bot detection.

        "force"
            (optional) Force a specific alternative to be returned

        "traffic_fraction"
            (optional) Sixpack allows for limiting experiments to a subset
            of traffic. You can pass the percentage of traffic you'd like to
            expose the test to as a decimal number here. (0.10 for 10%)

  convert
    This function takes the following arguments:

    Arguments:

    "experiment"
        The name of the experiment.

    "kpi"
        A KPI you wish to track. When the KPI is unknown, it will be
        created.

  _get_response
    Internal method to fire the actual request and parse the result

AUTHOR
    Menno Blom, "<blom at cpan.org>"

BUGS
    Please report any bugs or feature requests to "bug-www-sixpack at
    rt.cpan.org", or through the web interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Sixpack>. I will be
    notified, and then you'll automatically be notified of progress on your
    bug as I make changes.

SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc WWW::Sixpack

    You can also look for information at:

    *   RT: CPAN's request tracker (report bugs here)

        <http://rt.cpan.org/NoAuth/Bugs.html?Dist=WWW-Sixpack>

    *   AnnoCPAN: Annotated CPAN documentation

        <http://annocpan.org/dist/WWW-Sixpack>

    *   CPAN Ratings

        <http://cpanratings.perl.org/d/WWW-Sixpack>

    *   Search CPAN

        <http://search.cpan.org/dist/WWW-Sixpack/>

LICENSE
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

