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   3771 use Evo -Class, 'Fcntl :mode';
  8         19  
  8         55  
3 8     8   3560 use File::stat();
  8         40420  
  8         2664  
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 1792 sub is_file($self) { S_ISREG($self->mode) }
  25 50       59  
  25         45  
  25         35  
  25         139  
21 85 50   85 0 249 sub is_dir($self) { S_ISDIR($self->mode) }
  85 50       171  
  85         137  
  85         102  
  85         462  
22              
23              
24 34 50   34 0 584 sub can_read($self) {
  34 50       73  
  34         56  
  34         54  
25 34         87 File::stat::stat_cando($self->_data, S_IRUSR);
26             }
27              
28 1 50   1 0 338 sub can_write($self) {
  1 50       5  
  1         2  
  1         3  
29 1         6 File::stat::stat_cando($self->_data, S_IWUSR);
30             }
31              
32 34 50   34 0 393 sub can_exec($self) {
  34 50       72  
  34         57  
  34         47  
33 34         123 File::stat::stat_cando($self->_data, S_IXUSR);
34             }
35              
36 2 50   2 0 652 sub perms($self) { $self->mode & oct(7777) }
  2 50       7  
  2         3  
  2         5  
  2         13  
37              
38             1;
39              
40             __END__