]> git.r.bdr.sh - rbdr/blog/blobdiff - src/metadata.rs
Deal with all lints
[rbdr/blog] / src / metadata.rs
index e016db6d32d3fc0434ef1896e7359a9501289af2..fe657e4e90bceaf45374bd3c215b08c79dcfc7ab 100644 (file)
@@ -14,17 +14,16 @@ pub struct Metadata {
 
 impl Metadata {
     pub fn read_or_create(file_path: &PathBuf) -> Metadata {
-        match Metadata::read_metadata_file(file_path) {
-            Some(metadata) => metadata,
-            None => {
-                let timestamp = SystemTime::now()
-                    .duration_since(UNIX_EPOCH)
-                    .map(|duration| duration.as_millis() as u64)
-                    .unwrap_or_else(|_| 0);
-                return Metadata {
-                    id: timestamp.to_string(),
-                    created_on: timestamp,
-                };
+        if let Some(metadata) = Metadata::read_metadata_file(file_path) {
+            metadata
+        } else {
+            let timestamp = SystemTime::now().duration_since(UNIX_EPOCH).map_or_else(
+                |_| 0,
+                |duration| u64::try_from(duration.as_millis()).expect("Timestamp is too big!"),
+            );
+            Metadata {
+                id: timestamp.to_string(),
+                created_on: timestamp,
             }
         }
     }
@@ -32,7 +31,7 @@ impl Metadata {
     pub fn created_on_utc(&self) -> Option<String> {
         let date =
             OffsetDateTime::from_unix_timestamp_nanos((self.created_on * 1_000_000).into()).ok()?;
-        return date.format(&Rfc2822).ok();
+        date.format(&Rfc2822).ok()
     }
 
     fn read_metadata_file(file_path: &PathBuf) -> Option<Metadata> {