X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FGruntmaster%2FApp%2FCommand%2FSet.pm;h=e1f70da8201e0bc27cb7b857e100b9e195c7cca4;hb=b35cbc0d6ca5baf03ffbeb2b9a375fa71f4d0ad3;hp=b3754ddee359bd02e81616187f4818a2b33f1463;hpb=92f74061ec24c7d45c9312ae54280356530f6c8c;p=gruntmaster-data.git diff --git a/lib/Gruntmaster/App/Command/Set.pm b/lib/Gruntmaster/App/Command/Set.pm index b3754dd..e1f70da 100644 --- a/lib/Gruntmaster/App/Command/Set.pm +++ b/lib/Gruntmaster/App/Command/Set.pm @@ -3,15 +3,22 @@ package Gruntmaster::App::Command::Set; use 5.014000; use warnings; -our $VERSION = '5999.000_004'; +our $VERSION = '5999.000_016'; use Gruntmaster::App '-command'; use Gruntmaster::Data; use File::Slurp qw/read_file/; +use constant PAGES => { + contests => '/ct/', + jobs => '/log/', + problems => '/pb/', + users => '/us/', +}; + sub opt_spec { - ['file!', 'Use the contents of a file as value'], + ['file!', 'Use the contents of a file as value'] } sub usage_desc { "%c [-cjpu] set id column value [column value ...]\n%c [-cjpu] set --file id column filename [column filename ...]" } @@ -29,7 +36,46 @@ sub execute { my ($id, %values) = @$args; %values = map { $_ => scalar read_file $values{$_} } keys %values if $opt->{file}; db->update($self->app->table, \%values, {id => $id}); + purge PAGES->{$self->app->table}.$_ for '', $id; } 1; __END__ + +=encoding utf-8 + +=head1 NAME + +Gruntmaster::App::Command::Set - set a property of an object + +=head1 SYNOPSIS + + gm -u set MGV name 'Marius Gavrilescu' + gm -p set aplusb level beginner + gm -c set test_ct 'This is a test contest.
Nothing to see here' + gm -j set 100 result_text Accepted + +=head1 DESCRIPTION + +The set command takes three arguments: an object id, a property name, +and a value. It sets the given property of the given object to the +given value. + +=head1 SEE ALSO + +L + +=head1 AUTHOR + +Marius Gavrilescu, Emarius@ieval.roE + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2014-2016 by Marius Gavrilescu + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself, either Perl version 5.20.1 or, +at your option, any later version of Perl 5 you may have available. + + +=cut