summaryrefslogtreecommitdiff
path: root/lib/StarGit/Graph.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/StarGit/Graph.pm')
-rw-r--r--lib/StarGit/Graph.pm26
1 files changed, 15 insertions, 11 deletions
diff --git a/lib/StarGit/Graph.pm b/lib/StarGit/Graph.pm
index 488d07d..4b7d497 100644
--- a/lib/StarGit/Graph.pm
+++ b/lib/StarGit/Graph.pm
@@ -42,16 +42,17 @@ sub neighbors {
sub _neighbors {
my ( $self, $name ) = @_;
- my ($country, $language) = $self->_get_info_from_login($name);
+ my $desc = $self->_get_info_from_login($name);
my $degree = $self->nodes->{$name} ? $self->nodes->{$name}->{degree} : 0;
+
+
delete $self->nodes->{$name};
$self->nodes->{$name} = {
id => $name,
label => $name,
degree => $degree,
- country => $country,
- language => $language,
+ %$desc,
};
foreach my $type (qw/source target/) {
@@ -119,29 +120,32 @@ sub _create_edge {
$self->nodes->{ $edge->{$type} }->{degree}++;
}
else {
- my ( $country, $language ) =
+ my $desc =
$self->_get_info_from_login( $edge->{$type} );
$self->nodes->{ $edge->{$type} } = {
id => $edge->{$type},
label => $edge->{$type},
degree => 1,
- country => $country,
- language => $language,
+ %$desc,
};
}
}
}
sub _get_info_from_login {
- my ($self, $login) = @_;
+ my ( $self, $login ) = @_;
my $info = $self->db_profiles->find_one( { login => $login } );
- return undef if (!defined $info);
+ return undef if ( !defined $info );
- my $country = $info->{country} || 'null';
- my $language = $info->{language} || 'null';
- return ($country, $language);
+ my $desc = {
+ country => $info->{country} || 'null',
+ language => $info->{language} || 'null',
+ followers_count => $info->{followers_count},
+ indegree => $info->{indegree},
+ };
+ return $desc;
}
1;