NAME¶
Net::Google::Code - a simple client library for google code
SYNOPSIS¶
use Net::Google::Code;
my $project = Net::Google::Code->new( project => 'net-google-code' );
$project->load; # load its metadata, e.g. summary, owners, members, etc.
print join(', ', @{ $project->owners } );
# return a Net::Google::Code::Issue object, of which the id is 30
$project->issue( id => 30 );
# return a Net::Google::Code::Download object, of which the file name is
# 'FooBar-0.01.tar.gz'
$project->download( name => 'FooBar-0.01.tar.gz' );
# return a Net::Google::Code::Wiki object, of which the page name is 'Test'
$project->wiki( name => 'Test' );
# loads all the downloads
$project->load_downloads;
my $downloads = $project->downloads;
# loads all the wikis
$project->load_wikis;
my $wikis = $project->wikis;
DESCRIPTION¶
Net::Google::Code is a simple client library for projects hosted in Google Code.
Since 0.15, Net::Google::Code offers google's official issues api support.
Besides the new "Net::Google::Code::Issue::list",
"Net::Google::Code::Issue::Comment::list" and
<Net::Googlel::Code::Issue::load_comments> methods, which use the api
from start, you can set $Net::Google::Code::Issue::USE_HYBRID to true to load,
create and update issue with the api too.
But the official api is not function complete yet( e.g. no attachment support,
can't merge, etc. ), Net::Google::Code will back to the scraping way to
accomplish those stuff.
ATTRIBUTES¶
- project
- the project name
- email, password
- user's email and password, used to authenticate
- base_url
- the project homepage
- base_svn_url
- the project svn url (without trunk)
- base_feeds_url
- the project feeds url
- summary
- description
- labels
- owners
- members
INTERFACE¶
- load
- load project's home page, and parse its metadata
- parse
- acturally do the parse job, for load();
- load_downloads
- load all the downloads, and store them as an arrayref in
$self->downloads
- load_wikis
- load all the wikis, and store them as an arrayref in
$self->wikis
- issue
- return a new Net::Google::Code::Issue object, arguments
will be passed to Net::Google::Code::Issue's new method.
- download
- return a new Net::Google::Code::Download object, arguments
will be passed to Net::Google::Code::Download's new method.
- wiki
- return a new Net::Google::Code::Wiki object, arguments will
be passed to Net::Google::Code::Wiki's new method.
DEPENDENCIES¶
Any::Moose, HTML::TreeBuilder, WWW::Mechanize, Params::Validate XML::FeedPP,
DateTime, JSON, URI::Escape, MIME::Types, File::MMagic
INCOMPATIBILITIES¶
None reported.
BUGS AND LIMITATIONS¶
No bugs have been reported.
This project is very very young, and api is not stable yet, so don't use this in
production, at least for now.
AUTHOR¶
sunnavy "<sunnavy@bestpractical.com>"
Fayland Lam "<fayland@gmail.com>"
LICENCE AND COPYRIGHT¶
Copyright 2008-2010 Best Practical Solutions.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.