]>
Commit | Line | Data |
---|---|---|
92f74061 MG |
1 | package Gruntmaster::App::Command::Get; |
2 | ||
3 | use 5.014000; | |
4 | use warnings; | |
5 | ||
6 | our $VERSION = '5999.000_004'; | |
7 | ||
8 | use Gruntmaster::App '-command'; | |
9 | use Gruntmaster::Data; | |
10 | ||
11 | sub usage_desc { '%c [-cjpu] get id column' } | |
12 | ||
13 | sub validate_args { | |
14 | my ($self, $opt, $args) = @_; | |
15 | my @args = @$args; | |
16 | $self->usage_error('No table selected') unless $self->app->table; | |
17 | $self->usage_error('Wrong number of arguments') if @args != 2; | |
18 | } | |
19 | ||
20 | sub execute { | |
21 | my ($self, $opt, $args) = @_; | |
22 | my ($obj, $col) = @$args; | |
23 | say db->select($self->app->table, $col, {id => $obj})->flat | |
24 | } | |
25 | ||
26 | 1; | |
27 | __END__ | |
63afa40a MG |
28 | |
29 | =encoding utf-8 | |
30 | ||
31 | =head1 NAME | |
32 | ||
33 | Gruntmaster::App::Command::Get - get a property of an object | |
34 | ||
35 | =head1 SYNOPSIS | |
36 | ||
37 | gm -u get MGV name | |
38 | # Marius Gavrilescu | |
39 | ||
40 | gm -p get aplusb level | |
41 | # beginner | |
42 | ||
43 | gm -c get test_ct description | |
44 | # This is a <b>test</b> contest.<br> | |
45 | # Nothing to see here. | |
46 | ||
47 | gm -j get 100 result_text | |
48 | # Accepted | |
49 | ||
50 | =head1 DESCRIPTION | |
51 | ||
52 | The get command takes two arguments: an object id and a property name, | |
53 | and returns the value of that property. | |
54 | ||
55 | =head1 SEE ALSO | |
56 | ||
57 | L<gm> | |
58 | ||
59 | =head1 AUTHOR | |
60 | ||
61 | Marius Gavrilescu, E<lt>marius@ieval.roE<gt> | |
62 | ||
63 | =head1 COPYRIGHT AND LICENSE | |
64 | ||
65 | Copyright (C) 2015 by Marius Gavrilescu | |
66 | ||
67 | This library is free software; you can redistribute it and/or modify | |
68 | it under the same terms as Perl itself, either Perl version 5.20.1 or, | |
69 | at your option, any later version of Perl 5 you may have available. | |
70 | ||
71 | ||
72 | =cut |