summaryrefslogtreecommitdiff
path: root/lib/StarGit.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/StarGit.pm')
-rw-r--r--lib/StarGit.pm18
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/StarGit.pm b/lib/StarGit.pm
index 2895992..1490e77 100644
--- a/lib/StarGit.pm
+++ b/lib/StarGit.pm
@@ -2,7 +2,7 @@ package StarGit;
use Dancer ':syntax';
use StarGit::Graph;
-use Cache::Memcached; # don't use it yet
+use Dancer::Plugin::Memcached;
our $VERSION = '0.1';
@@ -24,7 +24,9 @@ get '/graph/local/:name' => sub {
$graph->neighbors( $name, 1 );
$graph->remove_leaves();
- return _finalize($graph);
+ my $serialized_graph = _finalize($graph);
+ memcached_store($name, $serialized_graph);
+ return $serialized_graph;
};
# XXX do we already use this one ?
@@ -34,7 +36,8 @@ get '/graph/query' => sub {
my $graph = StarGit::Graph->new( language => $language );
$graph->build_from_query();
- return _finalize($graph);
+ my $serialized_graph = _finalize($graph);
+ return $serialized_graph;
};
get '/graph/attributes' => sub {
@@ -43,6 +46,15 @@ get '/graph/attributes' => sub {
return { attributes => $attributes };
};
+get '/profile/:login' => sub {
+ my $login = params->{login};
+ my $info = StarGit::Info->new( login => $login );
+ if ( !defined $info ) {
+ return send_error( "no information for profile " . $login );
+ }
+ return $info;
+};
+
sub _finalize {
my $graph = shift;