File Coverage

blib/lib/Evo/Fs/Stat.pm
Criterion Covered Total %
statement 36 36 100.0
branch 12 24 50.0
condition n/a
subroutine 8 8 100.0
pod 0 6 0.0
total 56 74 75.6


line stmt bran cond sub pod time code
1             package Evo::Fs::Stat;
2 8     8   4234 use Evo -Class, 'Fcntl :mode';
  8         16  
  8         56  
3 8     8   3692 use File::stat();
  8         41705  
  8         2690  
4              
5             has 'dev';
6             has 'ino';
7             has 'mode';
8             has 'nlink';
9             has 'uid';
10             has 'gid';
11             has 'rdev';
12             has 'size';
13             has 'atime';
14             has 'mtime';
15             has 'ctime';
16             has 'blksize';
17             has 'blocks';
18             has '_data';
19              
20 25 50   25 0 1852 sub is_file($self) { S_ISREG($self->mode) }
  25 50       60  
  25         46  
  25         34  
  25         141  
21 85 50   85 0 224 sub is_dir($self) { S_ISDIR($self->mode) }
  85 50       185  
  85         127  
  85         136  
  85         499  
22              
23              
24 34 50   34 0 588 sub can_read($self) {
  34 50       76  
  34         56  
  34         43  
25 34         87 File::stat::stat_cando($self->_data, S_IRUSR);
26             }
27              
28 1 50   1 0 319 sub can_write($self) {
  1 50       3  
  1         3  
  1         2  
29 1         5 File::stat::stat_cando($self->_data, S_IWUSR);
30             }
31              
32 34 50   34 0 588 sub can_exec($self) {
  34 50       69  
  34         50  
  34         45  
33 34         111 File::stat::stat_cando($self->_data, S_IXUSR);
34             }
35              
36 2 50   2 0 662 sub perms($self) { $self->mode & oct(7777) }
  2 50       8  
  2         4  
  2         4  
  2         13  
37              
38             1;
39              
40             __END__