X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FLib%2FFS%2FAction%2FCreateDirectory.pm;fp=lib%2FDX%2FLib%2FFS%2FAction%2FCreateDirectory.pm;h=5c8346bcb4bfce9a7d4a35b2c1c5301048dd5667;hb=0d1a41d9db9e712b545964675ede067d69d40978;hp=5fcdef3f867652ad940da8437d38865fe5a8d118;hpb=887a32a0d7b5b7f8b650bcc277131f9dc4501709;p=scpubgit%2FDKit.git diff --git a/lib/DX/Lib/FS/Action/CreateDirectory.pm b/lib/DX/Lib/FS/Action/CreateDirectory.pm index 5fcdef3..5c8346b 100644 --- a/lib/DX/Lib/FS/Action/CreateDirectory.pm +++ b/lib/DX/Lib/FS/Action/CreateDirectory.pm @@ -2,6 +2,7 @@ package DX::Lib::FS::Action::CreateDirectory; use aliased 'DX::Lib::FS::Fact::PathStatus'; use aliased 'DX::Lib::FS::Fact::PathStatusInfo'; +use DX::Lib::FS::Guts; use Moo; with 'DX::Role::Action'; @@ -23,15 +24,8 @@ sub expected_effect { sub _do_run { my ($self) = @_; - if ($self->has_mode) { - my $umask = umask(0000); - mkdir($self->path, oct($self->mode)) - or do { umask($umask); die "Couldn't mkdir ${\$self->path}: $!" }; - umask($umask); - } else { - mkdir($self->path) or die "Couldn't mkdir ${\$self->path}: $!"; - } - +(path_status => PathStatus->new(path => $self->path)); + DX::Lib::FS::Guts->create_directory($self->path, $self->mode); + +(path_status => $self->path); } 1;