SetPathMode action
[scpubgit/DKit.git] / lib / DX / Lib / FS.pm
index 220daec..2fb204c 100644 (file)
@@ -3,6 +3,7 @@ package DX::Lib::FS;
 use DX::Lib::FS::Observation::PathStatus;
 use DX::Lib::FS::Action::CreateDirectory;
 use DX::Lib::FS::Action::CreateFile;
+use DX::Lib::FS::Action::SetPathMode;
 use File::Spec;
 use DX::SetOver;
 use Moo;
@@ -88,6 +89,14 @@ our @RULES = (
       [ react => [ qw(PS M) ], sub {
           $_[0]->but(mode => $_[1]);
         } ] ] ],
+  [ mode => [ qw(PS M) ],
+    [ exists_path => qw(PS) ],
+    [ not => [ info_prop => 'PS', \'mode', 'M' ] ],
+    [ act => [ qw(PS M) ], sub {
+       DX::Lib::FS::Action::SetPathMode->new(
+         path_status => $_[0], mode => $_[1]
+       )
+    } ] ],
 );
 
 sub load_into {