File Coverage

blib/lib/charm.pm
Criterion Covered Total %
statement 90 91 98.9
branch 1 2 50.0
condition n/a
subroutine 21 21 100.0
pod n/a
total 112 114 98.2


line stmt bran cond sub pod time code
1             package charm;
2              
3 1     1   1166 use strict;
  1         6  
  1         33  
4 1     1   6 use warnings;
  1         1  
  1         25  
5 1     1   443 no bareword::filehandles;
  1         2850  
  1         5  
6              
7 1     1   502 use true ();
  1         5326  
  1         25  
8 1     1   6 use feature ();
  1         2  
  1         13  
9 1     1   779 use Path::Tiny ();
  1         10937  
  1         27  
10 1     1   7 use Test::More ();
  1         2  
  1         15  
11 1     1   564 use Rex ();
  1         50623  
  1         33  
12 1     1   12 use Rex::Commands ();
  1         17867  
  1         25  
13 1     1   12 use Rex::Commands::File ();
  1         40290  
  1         23  
14 1     1   7 use Rex::Commands::Fs ();
  1         3  
  1         14  
15 1     1   5 use Rex::Commands::MD5 ();
  1         2  
  1         13  
16 1     1   9 use Rex::Commands::Network ();
  1         45183  
  1         22  
17 1     1   13 use Rex::Commands::Notify ();
  1         1017  
  1         21  
18 1     1   12 use Rex::Commands::Pkg ();
  1         7460  
  1         22  
19 1     1   6 use Rex::Commands::Run ();
  1         15  
  1         16  
20 1     1   9 use Rex::Commands::SCM ();
  1         1416  
  1         20  
21 1     1   11 use Rex::Commands::Service ();
  1         4262  
  1         21  
22 1     1   11 use Rex::Commands::User ();
  1         4167  
  1         22  
23              
24 1     1   10 use Import::Into;
  1         3699  
  1         10  
25              
26             sub import {
27 2     2   15 my $target = caller;
28 2         5 my $class = shift;
29              
30 2         5 my @flags = grep /^-\w+/, @_;
31 2         4 my %flags = map +($_, 1), map substr($_, 1), @flags;
32              
33 2         11 'strict'->import::into($target);
34 2         395 'warnings'->import::into($target);
35 2         350 'English'->import::into($target, '-no_match_vars');
36              
37 2         3996 warnings->unimport('once');
38 2         18 warnings->unimport('experimental');
39 2         14 warnings->unimport('experimental::signatures');
40 2         16 warnings->unimport('reserved');
41              
42 2         259 feature->import(':5.24');
43 2         19 feature->import('signatures');
44 2         30 true->import;
45              
46 2         2807 Rex->import::into($target, '-feature' => [qw(no_path_cleanup disable_taskname_warning)]);
47 2         109353 Rex::Commands->import::into($target);
48 2         1887 Rex::Commands::File->import::into($target);
49 2         698 Rex::Commands::Fs->import::into($target);
50 2         1045 Rex::Commands::MD5->import::into($target);
51 2         442 Rex::Commands::Network->import::into($target);
52 2         547 Rex::Commands::Notify->import::into($target);
53 2         408 Rex::Commands::Pkg->import::into($target);
54 2         608 Rex::Commands::Run->import::into($target);
55 2         475 Rex::Commands::SCM->import::into($target);
56 2         440 Rex::Commands::Service->import::into($target);
57 2         464 Rex::Commands::User->import::into($target);
58 2         698 Path::Tiny->import::into($target, qw(path cwd));
59              
60 2 50       468 if ($flags{tester}) {
61 0         0 Test::More->import::into($target);
62             }
63              
64             # overrides
65 2         23 require 'App/CharmKit.pm';
66 2         12 'App::CharmKit'->import::into($target);
67             }
68              
69              
70             1;