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.