sub execute {
my ($self, $opt, $args) = @_;
my ($obj) = @$args;
- $TABLE{$self->app->table}->(db->select($self->app->table, '*', {id => $obj})->kv_list);
+ $TABLE{$self->app->table}->(%{db->select($self->app->table, '*', {id => $obj})->hash});
}
sub show_contest {
my (%columns) = @_;
$columns{$_} = strftime '%c', localtime $columns{$_} for qw/start stop/;
- print <<END
+ print <<"END"
Name: $columns{name}
Owner: $columns{owner}
Start: $columns{start}
END
}
+sub show_job {
+ my (%columns) = @_;
+ $columns{date} = strftime '%c', localtime $columns{date};
+
+ no warnings 'uninitialized';
+ print <<"END"
+Problem: $columns{problem}
+Contest: $columns{contest}
+Owner: $columns{owner}
+Date: $columns{date}
+Private: @{[$columns{private} ? 'Yes' : 'No']}
+Format: $columns{format}
+Result: $columns{result} ($columns{result_text})
+END
+}
+
sub show_problem {
my (%columns) = @_;
no warnings 'uninitialized';
- print <<END
+ print <<"END"
Name: $columns{name}
Author: $columns{author}
Statement written by: $columns{writer}
END
}
+sub show_user {
+ my (%columns) = @_;
+ $columns{since} = strftime '%c', localtime $columns{since};
+
+ no warnings 'uninitialized';
+ print <<"END"
+Email: $columns{name} <$columns{email}>
+Phone: $columns{phone}
+Since: $columns{since}
+Admin: @{[$columns{admin} ? 'Yes' : 'No']}
+Level: $columns{level}
+University: $columns{university}
+Town: $columns{town}
+Country: $columns{country}
+END
+}
+
1;
__END__
+
+=encoding utf-8
+
+=head1 NAME
+
+Gruntmaster::App::Command::Show - display human-readable information about an object
+
+=head1 SYNOPSIS
+
+ gm -u show MGV
+ gm -p show aplusb
+ gm -c show test_ct
+ gm -j show 100
+
+=head1 DESCRIPTION
+
+The get command takes an object ID and prints information about that
+object in a human-readable format.
+
+=head1 SEE ALSO
+
+L<gm>
+
+=head1 AUTHOR
+
+Marius Gavrilescu, E<lt>marius@ieval.roE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (C) 2015 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