diff options
Diffstat (limited to 'lib/StarGit.pm')
| -rw-r--r-- | lib/StarGit.pm | 18 |
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; |
