diff --git a/src/meta_plugin/digest.rs b/src/meta_plugin/digest.rs index 1c7704c..45772d0 100644 --- a/src/meta_plugin/digest.rs +++ b/src/meta_plugin/digest.rs @@ -170,13 +170,30 @@ impl MetaPlugin for ReadTimeMetaPlugin { } fn finalize(&mut self) -> Result { - Ok(PluginResponse::default()) + let mut metadata = Vec::new(); + + if let Some(start_time) = self.start_time { + if let Some(item_id) = self.item_id { + let duration = start_time.elapsed(); + let duration_str = format!("{:.3} seconds", duration.as_secs_f64()); + + if let Some(meta) = self.create_meta(item_id, "read_time", duration_str) { + metadata.push(meta); + } + } + } + + Ok(PluginResponse { + metadata: Some(metadata), + is_finalized: true, + }) } fn update(&mut self, _data: &[u8]) -> Result { if self.start_time.is_none() { self.start_time = Some(Instant::now()); } + Ok(PluginResponse::default()) } fn meta_name(&self) -> String {