1 package DX::Lib::FS::Observation::PathStatus;
3 use aliased 'DX::Lib::FS::Fact::PathStatus';
4 use aliased 'DX::Lib::FS::Fact::PathStatusInfo';
9 has path => (is => 'ro', required => 1);
13 if (my $stat = stat(my $path = $self->path)) {
14 (path_status => PathStatus->new(
16 info => PathStatusInfo->new(
19 mode => sprintf("%04o", ($stat->mode & 07777)),
22 } elsif ($! == ENOENT) {
23 (path_status => PathStatus->new(path => $path));
25 die "Couldn't stat ${path}: $!";