File Coverage

blib/lib/VCS/Hms/Dir.pm
Criterion Covered Total %
statement 9 21 42.8
branch 0 4 0.0
condition n/a
subroutine 3 5 60.0
pod 2 2 100.0
total 14 32 43.7


line stmt bran cond sub pod time code
1             package VCS::Hms::Dir;
2              
3 1     1   23741 use VCS::Dir;
  1         4264  
  1         52  
4              
5             @ISA = qw(VCS::Hms VCS::Dir);
6              
7 1     1   11 use strict;
  1         1  
  1         43  
8 1     1   7 use Carp;
  1         2  
  1         1868  
9              
10             sub new {
11 0     0 1   my($class, $url) = @_;
12 0           my $self = $class->init($url);
13 0           my $path = $self->path;
14 0 0         die "$class->new: $path not an HMS directory: $!\n"
15             if system("fls $path >/dev/null") != 0;
16 0           $self;
17             }
18              
19             sub content {
20 0     0 1   my $self = shift;
21 0           my @result;
22 0           foreach (split "\n",`fll -l $self->{NAME}`) {
23 0           my ($mode,$lock,$size,$month,$date,$h_y,$name,$locked_rev) =
24             split /\s+/;
25 0 0         my $new_class = ($mode =~ /^d/) ? 'VCS::Hms::Dir' : 'VCS::Hms::File';
26 0           push @result, $new_class->new($self->url . $name);
27             }
28 0           return @result;
29             }
30              
31             1;