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 3     3   98245 use 5.006;
  3         26  
4 3     3   17 use strict;
  3         5  
  3         57  
5 3     3   11 use warnings;
  3         6  
  3         140  
6              
7             our $VERSION = '0.001';
8              
9 3     3   16 use parent 'XT::Files::Plugin';
  3         5  
  3         14  
10              
11 3     3   145 use Cwd ();
  3         5  
  3         38  
12 3     3   479 use lib ();
  3         700  
  3         456  
13              
14             sub run {
15 6     6 1 5664 my ( $self, $args ) = @_;
16              
17             ARG:
18 6         12 for my $arg ( @{$args} ) {
  6         22  
19 5         8 my ( $key, $value ) = @{$arg};
  5         18  
20              
21 5 100       19 if ( $key eq 'lib' ) {
22 3 100       51 if ( -d $value ) {
23 2         43 my $dir = Cwd::abs_path($value);
24              
25 2 50 33     44 if ( ( defined $dir ) && ( -d $dir ) ) {
26 2         13 lib->import($dir);
27             }
28             }
29              
30 3         218 next ARG;
31             }
32              
33 2         19 $self->log_fatal("Invalid configuration option '$key = $value' for plugin 'lib'");
34             }
35              
36 4         26 return;
37             }
38              
39             1;
40              
41             __END__