diff options
Diffstat (limited to 'src/project/path.rs')
-rw-r--r-- | src/project/path.rs | 41 |
1 files changed, 7 insertions, 34 deletions
diff --git a/src/project/path.rs b/src/project/path.rs index 24dad9d..14ce308 100644 --- a/src/project/path.rs +++ b/src/project/path.rs @@ -1,39 +1,18 @@ use ignore::DirEntry; -use std::{ - path::PathBuf, - time::{Duration, SystemTime}, -}; - -use crate::Project; +use std::path::PathBuf; #[derive(Debug, PartialEq, Eq, Clone, Default)] -pub struct PathProject { - path_buf: PathBuf, - timestamp: Option<Duration>, -} +pub struct PathProject(PathBuf); impl PathProject { fn new(path_buf: PathBuf) -> Self { - let timestamp = path_buf - .metadata() - .ok() - .and_then(|m| m.modified().ok()) - .and_then(|t| t.duration_since(SystemTime::UNIX_EPOCH).ok()); - - Self { - timestamp, - path_buf, - } + Self(path_buf) } } -impl Project for PathProject { - fn timestamp(&self) -> Option<Duration> { - self.timestamp - } - - fn to_path_buf(&self) -> PathBuf { - self.path_buf.to_owned() +impl AsRef<PathBuf> for PathProject { + fn as_ref(&self) -> &PathBuf { + &self.0 } } @@ -55,12 +34,6 @@ impl TryFrom<(&String, DirEntry)> for PathProject { } } -impl From<PathBuf> for PathProject { - fn from(value: PathBuf) -> Self { - Self::new(value) - } -} - impl From<DirEntry> for PathProject { fn from(value: DirEntry) -> Self { Self::new(value.into_path()) @@ -69,6 +42,6 @@ impl From<DirEntry> for PathProject { impl From<PathProject> for PathBuf { fn from(value: PathProject) -> Self { - value.path_buf + value.0 } } |