]> git.r.bdr.sh - rbdr/page/blobdiff - src/file_handler/file_strategies/file.rs
Reformat
[rbdr/page] / src / file_handler / file_strategies / file.rs
index 603d1894e76feed4dffdd10e4d8d2917250fb829..e5573a26f43d4e1a9cab3b8cfc60556afc4fa762 100644 (file)
@@ -1,13 +1,13 @@
 pub struct Strategy {}
 
-use std::path::PathBuf;
 use std::fs::{copy, create_dir_all};
+use std::path::Path;
 
-use crate::file_handler::{File, FileType, FileHandlerStrategy};
+use crate::file_handler::{File, FileType, Strategy as FileHandlerStrategy};
 
 impl Strategy {
-    fn handle(&self, source: &PathBuf, destination: &PathBuf, file: &File) {
-        let relative_path = file.path.strip_prefix(&source).unwrap();
+    fn handle(source: &Path, destination: &Path, file: &File) {
+        let relative_path = file.path.strip_prefix(source).unwrap();
         let complete_destination = destination.join(relative_path);
         let destination_parent = complete_destination.parent().unwrap();
         create_dir_all(destination_parent).unwrap();
@@ -16,7 +16,7 @@ impl Strategy {
 }
 
 impl FileHandlerStrategy for Strategy {
-    fn is(&self, path: &PathBuf) -> bool {
+    fn is(&self, path: &Path) -> bool {
         !path.is_dir()
     }
 
@@ -25,18 +25,15 @@ impl FileHandlerStrategy for Strategy {
     }
 
     fn can_handle(&self, file_type: &FileType) -> bool {
-        match file_type {
-            FileType::File => true,
-            _ => false,
-        }
+        matches!(file_type, FileType::File)
     }
 
-    fn handle_html(&self, source: &PathBuf, destination: &PathBuf, file: &File, _l: &str) {
-        return self.handle(source, destination, file);
+    fn handle_html(&self, source: &Path, destination: &Path, file: &File, _l: &str) {
+        Strategy::handle(source, destination, file);
     }
 
-    fn handle_gemini(&self, source: &PathBuf, destination: &PathBuf, file: &File) {
-        return self.handle(source, destination, file);
+    fn handle_gemini(&self, source: &Path, destination: &Path, file: &File) {
+        Strategy::handle(source, destination, file);
     }
 }
 
@@ -90,10 +87,8 @@ mod tests {
         let test_dir = setup_test_dir();
         let source_dir = test_dir.join("source");
         let output_dir = test_dir.join("output");
-        create_dir_all(&source_dir)
-            .expect("Could not create source test directory");
-        create_dir_all(&output_dir)
-            .expect("Could not create output test directory");
+        create_dir_all(&source_dir).expect("Could not create source test directory");
+        create_dir_all(&output_dir).expect("Could not create output test directory");
         create_test_file(&source_dir.join("image.png"), "A fish playing the banjo");
         let strategy = Strategy {};
 
@@ -109,7 +104,7 @@ mod tests {
 
         // Verify file contents are identical
         let original = fs::read(&file.path).unwrap();
-        let copied = fs::read(&copied_path).unwrap();
+        let copied = fs::read(copied_path).unwrap();
         assert_eq!(original, copied);
     }
 
@@ -118,13 +113,13 @@ mod tests {
         let test_dir = setup_test_dir();
         let source_dir = test_dir.join("source");
         let output_dir = test_dir.join("output");
-        create_dir_all(&source_dir)
-            .expect("Could not create source test directory");
-        create_dir_all(&output_dir)
-            .expect("Could not create output test directory");
-        create_dir_all(&source_dir.join("nested"))
-            .expect("Could not create source test directory");
-        create_test_file(&source_dir.join("nested/style.css"), "* { margin: 0; padding: 0 }");
+        create_dir_all(&source_dir).expect("Could not create source test directory");
+        create_dir_all(&output_dir).expect("Could not create output test directory");
+        create_dir_all(source_dir.join("nested")).expect("Could not create source test directory");
+        create_test_file(
+            &source_dir.join("nested/style.css"),
+            "* { margin: 0; padding: 0 }",
+        );
         let strategy = Strategy {};
 
         let file = File {
@@ -148,10 +143,8 @@ mod tests {
         let test_dir = setup_test_dir();
         let source_dir = test_dir.join("source");
         let output_dir = test_dir.join("output");
-        create_dir_all(&source_dir)
-            .expect("Could not create source test directory");
-        create_dir_all(&output_dir)
-            .expect("Could not create output test directory");
+        create_dir_all(&source_dir).expect("Could not create source test directory");
+        create_dir_all(&output_dir).expect("Could not create output test directory");
         create_test_file(&source_dir.join("image.png"), "A fish playing the banjo");
         let strategy = Strategy {};
 
@@ -167,7 +160,7 @@ mod tests {
 
         // Verify file contents are identical
         let original = fs::read(&file.path).unwrap();
-        let copied = fs::read(&copied_path).unwrap();
+        let copied = fs::read(copied_path).unwrap();
         assert_eq!(original, copied);
     }
 
@@ -176,10 +169,8 @@ mod tests {
         let test_dir = setup_test_dir();
         let source_dir = test_dir.join("source");
         let output_dir = test_dir.join("output");
-        create_dir_all(&source_dir)
-            .expect("Could not create source test directory");
-        create_dir_all(&output_dir)
-            .expect("Could not create output test directory");
+        create_dir_all(&source_dir).expect("Could not create source test directory");
+        create_dir_all(&output_dir).expect("Could not create output test directory");
         create_test_file(&source_dir.join("image.png"), "A fish playing the banjo");
         let strategy = Strategy {};
 
@@ -195,7 +186,7 @@ mod tests {
 
         // Verify file contents are identical
         let original = fs::read(&file.path).unwrap();
-        let copied = fs::read(&copied_path).unwrap();
+        let copied = fs::read(copied_path).unwrap();
         assert_eq!(original, copied);
     }
 }