NAME
WebService::Bukget - Provides access to the v3 Bukget API
VERSION
version 1.00
SYNOPSIS
use WebService::Bukget;
my $bukget = WebService::Bukget->new();
my $authors = $bukget->authors;
NAME
WebService::Bukget - A module that allows easy access to the Bukget API
CALLING CONVENTIONS
All methods used to access Bukget endpoints expect you to pass at the very least a hashref with the following keys:
on_success - A coderef that gets the WebService::Bukget instance and the decoded JSON result as parameters
on_failure - A coderef that gets an arrayref of code and status as parameters
Optionally you can pass another key called params
which should be a hashref of parameters to pass to the get request. See the examples below for more information, and also see the API documentation at http://bukget.org/pages/docs/API3.html
METHODS
geninfo
Maps to the geninfo
endpoint
categories
Maps to the categories
endpoint
plugins
Maps to the plugins
endpoint
authors
Maps to the authors
endpoint
EXAMPLES
# Fetch the latest geninfo
$bukget->geninfo({
on_success => sub {
my ($b, $r) = (@_);
print 'Last updated: ', $r->[0]->{timestamp}, "\n";
},
on_failure => sub {
die 'oops, ';
},
});
# Fetch the latest 5 geninfo entries
$bukget->geninfo({
params => {
size => 5
},
on_success => sub {
my ($b, $r) = (@_);
print 'Last updated: ', $_->{timestamp}, "\n" for(@$r);
},
on_failure => sub {
die 'oops, ';
},
});
# Fetch the first page of plugins from the 'Admin Tools' category,
# using 10 items per page, and only fetching the slug, logo and game version fields
$bukget->categories('Admin Tools' => {
params => {
size => 10,
start => 0,
fields => [qw/slug logo versions.game_version/],
},
on_success => sub {
my ($b, $r) = (@_);
...
},
on_failure => sub {
die 'oops, ';
},
});
TO-DO$
Clean up the code some since it's rather ugly
Add support for the search function in the Bukget API
AUTHOR
Ben van Staveren, <madcat at cpan.org>
BUGS/CONTRIBUTING
Please report any bugs or feature requests through the web interface at https://github.com/benvanstaveren/WebService-Bukget/issues. You can fork my Git repository at https://github.com/benvanstaveren/WebService-Bukget/ if you want to make changes or supply me with patches.
LICENSE AND COPYRIGHT
Copyright 2012 Ben van Staveren.
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/ for more information.
AUTHOR
Ben van Staveren <madcat@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Ben van Staveren.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.