From 18853a2baf20017e926e4bb465e3c02bb5a7af97 Mon Sep 17 00:00:00 2001 From: WriterV2 Date: Sat, 3 Sep 2022 18:45:45 +0200 Subject: Universalize method to create context from works and pass entire works object --- src/works/mod.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/works/mod.rs') diff --git a/src/works/mod.rs b/src/works/mod.rs index 3dfd4a2..f062565 100644 --- a/src/works/mod.rs +++ b/src/works/mod.rs @@ -1,8 +1,8 @@ -use serde::Deserialize; +use serde::{Deserialize, Serialize}; pub mod stories; -pub trait Works: for<'a> Deserialize<'a> { +pub trait Works: for<'a> Deserialize<'a> + Serialize { fn new_from_file(file: std::fs::File) -> Self { match serde_json::from_reader(std::io::BufReader::new(file)) { Ok(work) => work, @@ -10,5 +10,9 @@ pub trait Works: for<'a> Deserialize<'a> { } } - fn create_tera_context(&self) -> tera::Context; + fn create_tera_context(&self) -> tera::Context { + let mut context = tera::Context::new(); + context.insert("works", &self); + context + } } -- cgit v1.2.3