# NAME

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

# VERSION

Version 0.02

# 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 });

    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](http://search.cpan.org/perldoc?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:

    - `force`

        Force a specific alternative to be returned

    - `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.

## 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](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](http://rt.cpan.org/NoAuth/Bugs.html?Dist=WWW-Sixpack)

- AnnoCPAN: Annotated CPAN documentation

    [http://annocpan.org/dist/WWW-Sixpack](http://annocpan.org/dist/WWW-Sixpack)

- CPAN Ratings

    [http://cpanratings.perl.org/d/WWW-Sixpack](http://cpanratings.perl.org/d/WWW-Sixpack)

- Search CPAN

    [http://search.cpan.org/dist/WWW-Sixpack/](http://search.cpan.org/dist/WWW-Sixpack/)

# LICENSE AND COPYRIGHT

Copyright 2013 Menno Blom.

This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.

See [http://dev.perl.org/licenses/](http://dev.perl.org/licenses/) for more information.