File Coverage

blib/lib/Alien/Ninja.pm
Criterion Covered Total %
statement 13 15 86.6
branch n/a
condition n/a
subroutine 5 7 71.4
pod 1 2 50.0
total 19 24 79.1


line stmt bran cond sub pod time code
1             package Alien::Ninja;
2              
3 1     1   320233 use strict;
  1         14  
  1         31  
4 1     1   5 use warnings;
  1         2  
  1         28  
5 1     1   6 use base qw( Alien::Base );
  1         2  
  1         614  
6 1     1   5269 use 5.008004;
  1         4  
7              
8             =head1 NAME
9              
10             Alien::Ninja - Find or build Ninja build tool
11              
12             =head1 SYNOPSIS
13              
14             Command line tool:
15              
16             use Alien::Ninja;
17             use Env qw( @PATH );
18              
19             unshift @PATH, Alien::Ninja->bin_dir;
20             system "@{[ Alien::Ninja->exe ]}";
21              
22             =head1 DESCRIPTION
23              
24             This distribution provides Ninja so that it can be used by other
25             Perl distributions that are on CPAN. It does this by first trying to
26             detect an existing install of Ninja on your system. If found it
27             will use that. If it cannot be found, the source code will be downloaded
28             from the internet and it will be installed in a private share location
29             for the use of other modules.
30              
31             =cut
32              
33             sub exe {
34 1     1 0 19149 my($class) = @_;
35 1         6 $class->runtime_prop->{command};
36             }
37              
38             =head1 HELPERS
39              
40             =head2 ninja
41              
42             %{ninja}
43              
44             Returns 'ninja'.
45              
46             =cut
47              
48             sub alien_helper {
49             return +{
50             ninja => sub {
51 0     0     Alien::Ninja->exe;
52             },
53 0     0 1   };
54             }
55              
56              
57             =head1 SEE ALSO
58              
59             =over 4
60              
61             =item L
62              
63             The Ninja build system home page.
64              
65             =item L
66              
67             Documentation on the Alien concept itself.
68              
69             =item L
70              
71             The base class for this Alien.
72              
73             =item L
74              
75             Detailed manual for users of Alien classes.
76              
77             =back
78              
79             =cut
80              
81             1;