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.