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 \*(C`Net::Google::Code::Issue::list\*(C', \*(C`Net::Google::Code::Issue::Comment::list\*(C' 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, \s-1JSON\s0, 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 \*(C`<[email protected]>\*(C'

Fayland Lam \*(C`<[email protected]>\*(C'

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.