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   4389 use Evo -Class, 'Fcntl :mode';
  8         15  
  8         68  
3 8     8   4051 use File::stat();
  8         45105  
  8         2971  
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 1888 sub is_file($self) { S_ISREG($self->mode) }
  25 50       58  
  25         40  
  25         38  
  25         168  
21 85 50   85 0 220 sub is_dir($self) { S_ISDIR($self->mode) }
  85 50       190  
  85         130  
  85         122  
  85         534  
22              
23              
24 34 50   34 0 609 sub can_read($self) {
  34 50       81  
  34         51  
  34         48  
25 34         139 File::stat::stat_cando($self->_data, S_IRUSR);
26             }
27              
28 1 50   1 0 322 sub can_write($self) {
  1 50       5  
  1         5  
  1         3  
29 1         5 File::stat::stat_cando($self->_data, S_IWUSR);
30             }
31              
32 34 50   34 0 454 sub can_exec($self) {
  34 50       75  
  34         54  
  34         48  
33 34         129 File::stat::stat_cando($self->_data, S_IXUSR);
34             }
35              
36 2 50   2 0 666 sub perms($self) { $self->mode & oct(7777) }
  2 50       8  
  2         3  
  2         5  
  2         13  
37              
38             1;
39              
40             __END__