aboutsummaryrefslogtreecommitdiff
path: root/src/file_handler/file_strategies
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2023-04-16 13:11:39 +0200
committerRuben Beltran del Rio <ruben@unlimited.pizza>2023-04-16 13:11:45 +0200
commit4fd89b808cabc8afb0d75b9700be1da96989c4b7 (patch)
tree4083f1c1c58b827a85a10b0b412e291cfc650133 /src/file_handler/file_strategies
parent5643a0416ded5e5135a968cb57a279568b471248 (diff)
Add logic to read and assign files / layout
Diffstat (limited to 'src/file_handler/file_strategies')
-rw-r--r--src/file_handler/file_strategies/file.rs13
-rw-r--r--src/file_handler/file_strategies/gemini.rs13
-rw-r--r--src/file_handler/file_strategies/layout.rs14
3 files changed, 23 insertions, 17 deletions
diff --git a/src/file_handler/file_strategies/file.rs b/src/file_handler/file_strategies/file.rs
index c9e8c96..b1de596 100644
--- a/src/file_handler/file_strategies/file.rs
+++ b/src/file_handler/file_strategies/file.rs
@@ -2,7 +2,7 @@ pub struct Strategy {}
use std::path::PathBuf;
-use crate::file_handler::{FileType, FileHandlerStrategy};
+use crate::file_handler::{File, FileType, FileHandlerStrategy};
impl FileHandlerStrategy for Strategy {
fn is(&self, path: &PathBuf) -> bool {
@@ -13,11 +13,14 @@ impl FileHandlerStrategy for Strategy {
FileType::File
}
- fn can_handle(&self, path: &PathBuf) -> bool {
- self.is(path)
+ fn can_handle(&self, file_type: &FileType) -> bool {
+ match file_type {
+ FileType::File => true,
+ _ => false,
+ }
}
- fn handle(&self, path: &PathBuf) {
- println!("Should copy {}", path.display())
+ fn handle(&self, file: &File) {
+ println!("Should copy {}", file.path.display())
}
}
diff --git a/src/file_handler/file_strategies/gemini.rs b/src/file_handler/file_strategies/gemini.rs
index ffa2a9f..905e1a9 100644
--- a/src/file_handler/file_strategies/gemini.rs
+++ b/src/file_handler/file_strategies/gemini.rs
@@ -2,7 +2,7 @@ pub struct Strategy {}
use std::path::PathBuf;
-use crate::file_handler::{FileType, FileHandlerStrategy};
+use crate::file_handler::{File, FileType, FileHandlerStrategy};
impl FileHandlerStrategy for Strategy {
fn is(&self, path: &PathBuf) -> bool {
@@ -16,11 +16,14 @@ impl FileHandlerStrategy for Strategy {
FileType::Gemini
}
- fn can_handle(&self, path: &PathBuf) -> bool {
- self.is(path)
+ fn can_handle(&self, file_type: &FileType) -> bool {
+ match file_type {
+ FileType::Gemini => true,
+ _ => false,
+ }
}
- fn handle(&self, path: &PathBuf) {
- println!("Should convert {}", path.display())
+ fn handle(&self, file: &File) {
+ println!("Should parse and copy {}", file.path.display())
}
}
diff --git a/src/file_handler/file_strategies/layout.rs b/src/file_handler/file_strategies/layout.rs
index cf1bb9f..bac1059 100644
--- a/src/file_handler/file_strategies/layout.rs
+++ b/src/file_handler/file_strategies/layout.rs
@@ -2,7 +2,7 @@ pub struct Strategy {}
use std::path::PathBuf;
-use crate::file_handler::{FileType, FileHandlerStrategy};
+use crate::file_handler::{File, FileType, FileHandlerStrategy};
impl FileHandlerStrategy for Strategy {
fn is(&self, path: &PathBuf) -> bool {
@@ -13,12 +13,12 @@ impl FileHandlerStrategy for Strategy {
FileType::Layout
}
- fn can_handle(&self, path: &PathBuf) -> bool {
- self.is(path)
+ fn can_handle(&self, file_type: &FileType) -> bool {
+ match file_type {
+ FileType::Layout => true,
+ _ => false,
+ }
}
- fn handle(&self, path: &PathBuf) {
- println!("Should convert {}", path.display())
- }
+ fn handle(&self, _file: &File) {}
}
-