]> git.r.bdr.sh - rbdr/blog/blobdiff - src/metadata.rs
Allow adding / updating
[rbdr/blog] / src / metadata.rs
index 97ef0d3262eb5b084f43dc8f8336ba7613e649ea..0e3c25a0eaca33b0c562f616734c20f3e0a4ac5f 100644 (file)
@@ -10,7 +10,10 @@ pub struct Metadata {
 
 impl Metadata {
     pub fn serialize(&self) -> String {
-        format!(r#"{{\n  "id": "{}",\n  "created_on": {}\n}}"#, self.id, self.created_on)
+        format!(r#"{{
+  "id": "{}",
+  "created_on": {}
+}}"#, self.id, self.created_on)
     }
 
     pub fn deserialize(input: &str) -> Option<Metadata> {
@@ -20,8 +23,9 @@ impl Metadata {
             .collect::<String>();
 
         let id = Metadata::read_field(&clean_input, "id")?;
-        let created_on = Metadata::read_field(&clean_input, "createdOn")
-            .or_else(|| Metadata::read_field(&clean_input, "created_on"))?;
+        let created_on = Metadata::read_field(&clean_input, "created_on")
+            // createdOn kept for compatibility with blog < 7.0.0
+            .or_else(|| Metadata::read_field(&clean_input, "createdOn"))?;
 
         Some(Metadata {
             id,
@@ -54,7 +58,7 @@ impl Metadata {
 
 
     fn read_field(input: &str, field_name: &str) -> Option<String> {
-        let key_pattern = format!(r#""{}":""#, field_name);
+        let key_pattern = format!(r#""{}":"#, field_name);
         input.find(&key_pattern)
             .and_then(|start| {
                 let value_start = start + key_pattern.len();