Skip to content

b10m/p5-WWW-Sixpack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

LICENSE

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages