summaryrefslogtreecommitdiffstats
path: root/src/project/path.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/project/path.rs')
-rw-r--r--src/project/path.rs41
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
}
}