]> iEval git - plack-app-gruntmaster.git/blobdiff - lib/Gruntmaster/Data.pm
Update standings
[plack-app-gruntmaster.git] / lib / Gruntmaster / Data.pm
index aac9ad1f77e3932adc23c7d1ee9e384f1a2ad5ee..eaa96c544db63aa5752ae513958dc781899cedfe 100644 (file)
@@ -17,7 +17,7 @@ sub dynsub{
 }
 
 BEGIN {
-       for my $cmd (qw/multi exec smembers get hget hdel hset sadd srem incr hmset hsetnx publish/) {
+       for my $cmd (qw/multi exec smembers get hget hdel hset sadd srem incr hmset hsetnx publish del/) {
                dynsub uc $cmd, sub { $redis->$cmd(@_) };
        }
 
@@ -52,6 +52,11 @@ sub defhash{
                dynsub "set_${name}_$key", sub ($$) { HSET cp . "$name.$_[0]", $key, $_[1] };
        }
 
+       dynsub "edit_$name", sub {
+               my ($key, %values) = @_;
+               HMSET cp . "$name.$key", %values;
+       };
+
        dynsub "insert_$name", sub {
                my ($key, %values) = @_;
                SADD cp . $name, $key or return;
@@ -60,6 +65,7 @@ sub defhash{
        dynsub "remove_$name", sub (_) {
                my $key = shift;
                SREM cp . $name, $key;
+               DEL cp . "$name.$key";
        };
 
        dynsub "push_$name", sub {
@@ -71,7 +77,7 @@ sub defhash{
 
 defhash problem => qw/name level statement owner author/;
 defhash contest => qw/start end name owner/;
-defhash job => qw/date extension filesize private problem result result_text user/;
+defhash job => qw/date errors extension filesize private problem result result_text user/;
 defhash user => qw/name email town university level/;
 
 sub clean_job (_){
This page took 0.021525 seconds and 4 git commands to generate.