diff --git a/src/meta_plugin/digest.rs b/src/meta_plugin/digest.rs index bcee2f6..37170d0 100644 --- a/src/meta_plugin/digest.rs +++ b/src/meta_plugin/digest.rs @@ -161,31 +161,19 @@ impl MetaPlugin for DigestMetaPlugin { let mut metadata = Vec::new(); - // Compute the selected hash + // Update outputs based on the selected hash method if let Some(hasher) = &mut self.hasher { let hash_value = hasher.finalize(); let output_name = hasher.output_name(); - // Add the selected hash output - if let Some(meta_data) = crate::meta_plugin::process_metadata_outputs( - output_name, - serde_yaml::Value::String(hash_value), - &self.outputs - ) { - metadata.push(meta_data); - } + // Set the selected hash output + self.outputs.insert(output_name.to_string(), serde_yaml::Value::String(hash_value)); // Set all other digest outputs to None let all_outputs = vec!["digest_md5", "digest_sha256", "digest_sha512"]; for output_name in all_outputs { if output_name != hasher.output_name() { - if let Some(meta_data) = crate::meta_plugin::process_metadata_outputs( - output_name, - serde_yaml::Value::Null, - &self.outputs - ) { - metadata.push(meta_data); - } + self.outputs.insert(output_name.to_string(), serde_yaml::Value::Null); } } } diff --git a/src/meta_plugin/hostname.rs b/src/meta_plugin/hostname.rs index bdd9a1a..69820f4 100644 --- a/src/meta_plugin/hostname.rs +++ b/src/meta_plugin/hostname.rs @@ -234,47 +234,32 @@ impl MetaPlugin for HostnameMetaPlugin { } }; - // Always process all outputs, setting disabled ones to Null + // Update outputs based on enabled status // Handle hostname output - let hostname_output_value = if hostname_enabled { - serde_yaml::Value::String(hostname_value) + if hostname_enabled { + if let Some(output_value) = self.outputs.get_mut("hostname") { + *output_value = serde_yaml::Value::String(hostname_value); + } } else { - serde_yaml::Value::Null - }; - if let Some(meta_data) = crate::meta_plugin::process_metadata_outputs( - "hostname", - hostname_output_value, - &self.outputs - ) { - metadata.push(meta_data); + self.outputs.insert("hostname".to_string(), serde_yaml::Value::Null); } // Handle hostname_full output - let hostname_full_output_value = if hostname_full_enabled { - serde_yaml::Value::String(full_hostname.clone()) + if hostname_full_enabled { + if let Some(output_value) = self.outputs.get_mut("hostname_full") { + *output_value = serde_yaml::Value::String(full_hostname.clone()); + } } else { - serde_yaml::Value::Null - }; - if let Some(meta_data) = crate::meta_plugin::process_metadata_outputs( - "hostname_full", - hostname_full_output_value, - &self.outputs - ) { - metadata.push(meta_data); + self.outputs.insert("hostname_full".to_string(), serde_yaml::Value::Null); } // Handle hostname_short output - let hostname_short_output_value = if hostname_short_enabled { - serde_yaml::Value::String(short_hostname) + if hostname_short_enabled { + if let Some(output_value) = self.outputs.get_mut("hostname_short") { + *output_value = serde_yaml::Value::String(short_hostname); + } } else { - serde_yaml::Value::Null - }; - if let Some(meta_data) = crate::meta_plugin::process_metadata_outputs( - "hostname_short", - hostname_short_output_value, - &self.outputs - ) { - metadata.push(meta_data); + self.outputs.insert("hostname_short".to_string(), serde_yaml::Value::Null); } // Mark as finalized since this plugin only needs to run once diff --git a/src/modes/status.rs b/src/modes/status.rs index 57cbf47..fe604db 100644 --- a/src/modes/status.rs +++ b/src/modes/status.rs @@ -175,18 +175,12 @@ fn build_meta_plugins_configured_table(settings: &config::Settings) -> Option Option Option