File Coverage

lib/XT/Files/Plugin/lib.pm
Criterion Covered Total %
statement 30 30 100.0
branch 5 6 83.3
condition 1 3 33.3
subroutine 7 7 100.0
pod 1 1 100.0
total 44 47 93.6


line stmt bran cond sub pod time code
1             package XT::Files::Plugin::lib; ## no critic (NamingConventions::Capitalization)
2              
3 4     4   98115 use 5.006;
  4         21  
4 4     4   21 use strict;
  4         7  
  4         79  
5 4     4   17 use warnings;
  4         8  
  4         191  
6              
7             our $VERSION = '0.002';
8              
9 4     4   24 use parent 'XT::Files::Plugin';
  4         8  
  4         19  
10              
11 4     4   204 use Cwd ();
  4         8  
  4         60  
12 4     4   928 use lib ();
  4         1340  
  4         592  
13              
14             sub run {
15 7     7 1 5757 my ( $self, $args ) = @_;
16              
17             ARG:
18 7         20 for my $arg ( @{$args} ) {
  7         23  
19 6         8 my ( $key, $value ) = @{$arg};
  6         19  
20              
21 6 100       30 if ( $key eq 'lib' ) {
22 4 100       74 if ( -d $value ) {
23 3         68 my $dir = Cwd::abs_path($value);
24              
25 3 50 33     115 if ( ( defined $dir ) && ( -d $dir ) ) {
26 3         22 lib->import($dir);
27             }
28             }
29              
30 4         357 next ARG;
31             }
32              
33 2         29 $self->log_fatal("Invalid configuration option '$key = $value' for plugin 'lib'");
34             }
35              
36 5         28 return;
37             }
38              
39             1;
40              
41             __END__