File Coverage

blib/lib/Module/Install/Bundle/Platypus.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1             package Module::Install::Bundle::Platypus;
2 1     1   1044 use strict;
  1         3  
  1         230  
3 1     1   7 use warnings;
  1         2  
  1         165  
4 1     1   1481 use Data::Dumper;
  1         15653  
  1         141  
5              
6             our $VERSION = '0.00002';
7              
8 1     1   13 use base qw(Module::Install::Base);
  1         2  
  1         833  
9              
10             sub bundle_platypus {
11             my ($self, %args) = @_;
12              
13              
14             my $class = delete $args{class} || 'App::BundleDeps::Platypus';
15             foreach my $required qw(script) {
16             die "required parameter $required not specified in bundle_platypus"
17             unless $args{$required};
18             }
19             $args{version} ||= $self->version() ||
20             die "could not guess version for bundle_platypus";
21              
22             $args{extlib} ||= 'extlib';
23              
24             local $Data::Dumper::Indent = 0;
25             local $Data::Dumper::Varname = "MIBP_VAR";
26             local $Data::Dumper::Useqq = 1;
27             my $args = Dumper(\%args);
28             $args =~ s/^\s*\$MIBP_VAR\d+\s*=\s*{//;
29             $args =~ s/}\s*;?\s*$//;
30              
31             $self->Makefile->postamble(<
32             platypus: metafile
33             \t\$(FULLPERLRUN) -M$class -e '$class->new($args)->bundle_from_meta()'
34             EOM
35             }
36              
37             1;
38              
39             __END__