aboutsummaryrefslogtreecommitdiff
path: root/lib/Sietima/Runner.pm
blob: ca64348fc7dc3e92c517f579348681bbfd12b8d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package Sietima::Runner; 
use Moo;
use Sietima::Policy;
use namespace::clean;
 
# VERSION 
# ABSTRACT: C<App::Spec::Run> for Sietima 
 
=head1 DESCRIPTION
 
You should never need to care about this class, it's used internally
by L<< C<Sietima::CmdLine> >>.
 
This is a subclass of L<< C<App::Spec::Run> >> that uses directly
itself to execute the built-in commands, instead of delegating to the
C<cmd> object (in our case, a C<Sietima> instance) which would
delegate back via L<< C<App::Spec::Run::Cmd> >>.
 
=for Pod::Coverage run_op
 
=cut
 
extends 'App::Spec::Run';
 
sub run_op($self,$op,$args=[]) {
    if ($op =~ /^cmd_/) {
        $self->$op($args);
    }
    else {
        $self->cmd->$op($self,$args);
    }
}
 
1;