From e107cc724d45f1a0f157eaba5a6e63db5b01a29f Mon Sep 17 00:00:00 2001
From: Henri-Damien LAURENT <hdlaurent@afi-sa.net>
Date: Thu, 23 Mar 2023 18:43:10 +0000
Subject: [PATCH] Storm Filesystem : Adding rmdir

---
 src/Storm/FileSystem/Disk.php     |  5 +++++
 src/Storm/FileSystem/Volatile.php | 12 +++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/Storm/FileSystem/Disk.php b/src/Storm/FileSystem/Disk.php
index 1a53a92d..b78c478d 100644
--- a/src/Storm/FileSystem/Disk.php
+++ b/src/Storm/FileSystem/Disk.php
@@ -30,6 +30,11 @@ class Storm_FileSystem_Disk extends Storm_FileSystem_Abstract {
   }
 
 
+  public function rmdir($path) {
+    return rmdir($path);
+  }
+
+
   public function fileExists($path) {
     return file_exists($path);
   }
diff --git a/src/Storm/FileSystem/Volatile.php b/src/Storm/FileSystem/Volatile.php
index 95419c03..6faf6cac 100644
--- a/src/Storm/FileSystem/Volatile.php
+++ b/src/Storm/FileSystem/Volatile.php
@@ -97,7 +97,6 @@ class Storm_FileSystem_Volatile extends Storm_FileSystem_Abstract {
   public function rename(string $from, string $to) : bool {
     if (!$this->fileExists($from))
       return false;
-
     $this->filePutContents($to, $this->fileGetContents($from))
          ->rm($from);
 
@@ -132,6 +131,12 @@ class Storm_FileSystem_Volatile extends Storm_FileSystem_Abstract {
   }
 
 
+  public function rmdir($path) {
+    $this->asPath($path)->rm();
+    return $this;
+  }
+
+
   public function delete(string $path) : bool {
     $this->rm($path);
     return !$this->isReadable($path);
@@ -171,6 +176,11 @@ class Storm_FileSystem_Volatile extends Storm_FileSystem_Abstract {
   }
 
 
+  public function isDirectory($path) {
+    return $this->entryAt($path)->isDirectory();
+  }
+
+
   public function directoryNamesAt($path) {
     $collection = $this->entryAt($path)->select(
       function ($entry) {
-- 
GitLab