aboutsummaryrefslogtreecommitdiff
path: root/src/command/status
diff options
context:
space:
mode:
Diffstat (limited to 'src/command/status')
-rw-r--r--src/command/status/configuration_status.rs25
-rw-r--r--src/command/status/mod.rs7
2 files changed, 16 insertions, 16 deletions
diff --git a/src/command/status/configuration_status.rs b/src/command/status/configuration_status.rs
index 67bf277..6d4e56a 100644
--- a/src/command/status/configuration_status.rs
+++ b/src/command/status/configuration_status.rs
@@ -2,36 +2,35 @@ use std::fs;
use std::path::PathBuf;
use crate::configuration::Configuration;
-pub fn status() -> String {
- let configuration = Configuration::new();
+pub fn status(configuration: &Configuration) -> String {
let mut status_message = String::new();
status_message.push_str("# Configuration\n");
- status_message.push_str("## Directories\n");
+ status_message.push_str("\n## Directories\n");
// Main Configuration Locations
- status_message.push_str(&get_directory_stats("Configuration", configuration.config_directory));
- status_message.push_str(&get_directory_stats("Data", configuration.data_directory));
- status_message.push_str(&get_directory_stats("Output", configuration.output_directory));
+ status_message.push_str(&get_directory_stats("Configuration", &configuration.config_directory));
+ status_message.push_str(&get_directory_stats("Data", &configuration.data_directory));
+ status_message.push_str(&get_directory_stats("Output", &configuration.output_directory));
- status_message.push_str("## Blog Settings\n");
+ status_message.push_str("\n## Blog Settings\n");
status_message.push_str(&format!("Number of posts to keep: {}\n", configuration.max_posts));
status_message
}
-fn get_directory_stats(label: &str, directory: PathBuf) -> String {
+fn get_directory_stats(label: &str, directory: &PathBuf) -> String {
let mut status_message = String::new();
- status_message.push_str(&format!("{}: {}\n", label, directory.display()));
+ status_message.push_str(&format!("{}: {}. ", label, directory.display()));
if directory.exists() {
- status_message.push_str(&format!("{} directory exists.\n", label));
+ status_message.push_str("Exists ");
if fs::read_dir(&directory).is_ok() {
- status_message.push_str(&format!("{} directory is readable.\n", label));
+ status_message.push_str("and is readable.\n");
} else {
- status_message.push_str(&format!("{} directory is not readable.\n", label));
+ status_message.push_str("but is not readable.\n");
}
} else {
- status_message.push_str(&format!("{} directory does not exist.\n", label));
+ status_message.push_str("Does not exist.\n");
}
status_message
diff --git a/src/command/status/mod.rs b/src/command/status/mod.rs
index ba73184..e8754f5 100644
--- a/src/command/status/mod.rs
+++ b/src/command/status/mod.rs
@@ -1,6 +1,7 @@
mod configuration_status;
use std::io::Result;
+use crate::configuration::Configuration;
pub struct Status;
@@ -15,10 +16,10 @@ impl super::Command for Status {
vec![]
}
- fn execute(&self, _: Option<&String>) -> Result<()> {
+ fn execute(&self, _: Option<&String>, configuration: &Configuration, _: &String) -> Result<()> {
let status_providers = available_status_providers();
for status_provider in status_providers {
- println!("{}", status_provider());
+ println!("{}", status_provider(configuration));
}
return Ok(())
}
@@ -36,7 +37,7 @@ impl super::Command for Status {
}
}
-fn available_status_providers() -> Vec<fn() -> String> {
+fn available_status_providers() -> Vec<fn(&Configuration) -> String> {
vec![
configuration_status::status,
]