---
name: "Net::Google::Code"
section: "3pm"
platform: "linux"
package: "libnet-google-code-perl"
version: "0.19-2"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Google::Code"
---

# Net::Google::Code(3pm)

a simple client library for google code

## 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.
