File Coverage

blib/lib/Footprintless/App/Command/deployment/clean.pm
Criterion Covered Total %
statement 24 24 100.0
branch 1 2 50.0
condition n/a
subroutine 8 8 100.0
pod 3 3 100.0
total 36 37 97.3


line stmt bran cond sub pod time code
1 5     5   2596 use strict;
  5         10  
  5         124  
2 5     5   23 use warnings;
  5         9  
  5         203  
3              
4             package Footprintless::App::Command::deployment::clean;
5             $Footprintless::App::Command::deployment::clean::VERSION = '1.26';
6             # ABSTRACT: removes all files managed by the deployment
7             # PODNAME: Footprintless::App::Command::deployment::clean
8              
9 5     5   25 use parent qw(Footprintless::App::Action);
  5         9  
  5         22  
10              
11 5     5   230 use Footprintless::App -ignore;
  5         9  
  5         23  
12 5     5   783 use Log::Any;
  5         8  
  5         18  
13              
14             my $logger = Log::Any->get_logger();
15              
16             sub execute {
17 1     1 1 2 my ( $self, $opts, $args ) = @_;
18              
19 1         5 $logger->info('Performing clean...');
20 1         39 $self->{deployment}->clean();
21              
22 1         29 $logger->info('Done...');
23             }
24              
25             sub usage_desc {
26 1     1 1 5 return "fpl deployment DEPLOYMENT_COORD clean %o";
27             }
28              
29             sub validate_args {
30 1     1 1 2 my ( $self, $opts, $args ) = @_;
31              
32 1         3 eval { $self->{deployment} = $self->{footprintless}->deployment( $self->{coordinate} ); };
  1         4  
33              
34 1 50       4 $self->usage_error("invalid coordinate [$self->{coordinate}]: $@") if ($@);
35             }
36              
37             1;
38              
39             __END__