summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2011-06-16 15:10:02 +0200
committerfranck cuny <franck@lumberjaph.net>2011-06-16 15:38:42 +0200
commit3f9633196257eb1ecec0e3b14dfd8096849cc828 (patch)
treea6aa5a10908b95a31a341956410cfbe85c73d527 /lib
parentadd new webservice to return informations about a profile (diff)
downloadstargit-3f9633196257eb1ecec0e3b14dfd8096849cc828.tar.gz
store in memcached
Signed-off-by: franck cuny <franck@lumberjaph.net>
Diffstat (limited to '')
-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;