File Coverage

blib/lib/App/ape.pm
Criterion Covered Total %
statement 27 27 100.0
branch 1 2 50.0
condition n/a
subroutine 7 7 100.0
pod n/a
total 35 36 97.2


line stmt bran cond sub pod time code
1             package App::ape;
2             $App::ape::VERSION = '0.001';
3              
4             # PODNAME: App::ape
5             # ABSTRACT: Implements the `ape` binary
6              
7 2     2   86993 use strict;
  2         13  
  2         41  
8 2     2   7 use warnings;
  2         4  
  2         44  
9              
10 2     2   814 use Pod::Usage;
  2         74993  
  2         237  
11              
12 2     2   849 use App::ape::test;
  2         6  
  2         61  
13 2     2   797 use App::ape::plan;
  2         6  
  2         64  
14 2     2   825 use App::ape::update;
  2         4  
  2         217  
15              
16             sub new {
17 1     1   156 my (undef, @args) = @_;
18 1         4 my $command = shift @args;
19              
20             #I am being sneaky here and using bin/ape's POD
21 1 50       4 return pod2usage(0) unless grep { $_ eq $command } qw{plan test update};
  3         15  
22              
23 1         6 my $program = "App::ape::$command";
24 1         5 my $program_perlized = "$program.pm";
25 1         7 $program_perlized =~ s/::/\//g;
26 1         24 $0 = $INC{$program_perlized};
27              
28 1         12 return $program->new(@args);
29             }
30              
31             1;
32              
33             __END__