From 3db726a7164632f3f6814f463c46cc5493164270 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Wed, 10 Feb 2010 11:07:46 +0100 Subject: update to create graph --- lib/githubexplorer/Network.pm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 lib/githubexplorer/Network.pm (limited to 'lib/githubexplorer/Network.pm') diff --git a/lib/githubexplorer/Network.pm b/lib/githubexplorer/Network.pm new file mode 100644 index 0000000..e3c4765 --- /dev/null +++ b/lib/githubexplorer/Network.pm @@ -0,0 +1,34 @@ +package githubexplorer::Network; +use 5.010; +use Moose::Role; +use Net::GitHub::V2::Repositories; +use YAML::Syck; + +sub fetch_network { + my ( $self, $repos ) = @_; + + my $api_repos = Net::GitHub::V2::Repositories->new( + owner => $repos->id_profile->login, + repo => $repos->name, + login => $self->api_login, + token => $self->api_token, + ); + + my $edges = $api_repos->network(); + foreach my $edge (@$network) { + next if $edge->{owner} eq $repos->id_profile->login; + my $profile = $self->schema->resultset('Profiles') + ->find( { login => $edge->{owner} } ); + next if !$profile; + + my $relation = $self->schema->resultset('Fork')->find_or_create( + { + profile => $profile->id, + repos => $repos->id + } + ); + } + sleep(1); +} + +1; -- cgit 1.4.1