###########################################
package GitMeta::Github;
###########################################
# 2010, Mike Schilli <m@perlmeister.com>
###########################################
use strict;
use warnings;
use base qw(GitMeta);
use LWP::UserAgent;
use XML::Simple;

###########################################
sub expand {
###########################################
  my($self) = @_;

  $self->param_check("user");

  my $user  = $self->{user};
  my @repos = ();

  my $ua = LWP::UserAgent->new();
  my $resp = $ua->get(
   "http://github.com/api/v1/xml/$user");

  if($resp->is_error) {
    die "API fetch failed: ",
        $resp->message();
  }

  my $xml = XMLin(
      $resp->decoded_content());

  my $by_repo = 
    $xml->{repositories}->{repository};

  for my $repo (keys %$by_repo) {
      push @repos, 
        "git\@github.com:$user/$repo.git";
  }

  return @repos;
}

1;
