Skip to content

Commit 3852369

Browse files
committed
chore: readme::generate_* now returns String instead of writing to output
1 parent f99aeae commit 3852369

File tree

4 files changed

+15
-16
lines changed

4 files changed

+15
-16
lines changed

helm-docs/src/readme/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ pub fn generate_readme<W: Write>(writer: &mut W, directory: &PathBuf) -> Result<
1717
writeln!(writer, "# {} Chart", chart.pretty_name)?;
1818
writeln!(writer, "")?;
1919
writeln!(writer, "## Prerequisites")?;
20-
generate_prerequisites(writer)?;
20+
writeln!(writer, "{}", generate_prerequisites()?)?;
2121
writeln!(writer, "## Usage")?;
22-
generate_usage(writer, chart)?;
22+
writeln!(writer, "{}", generate_usage(chart)?)?;
2323
writeln!(writer, "## Configuration")?;
24-
generate_table(writer, values)?;
24+
write!(writer, "{}", generate_table(values)?)?;
2525
Ok(())
2626
}
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
use anyhow::{Context, Result};
2-
use std::io::Write;
1+
use anyhow::Result;
32

43
const PREREQUISITES: &str = r#"
54
* **Helm 3.2+** (Helm 2 is not supported)
65
* **Kubernetes 1.19+** - This is the earliest version of Kubernetes tested.
76
It is possible that this chart works with earlier versions but it is untested.
87
"#;
98

10-
pub fn generate_prerequisites<W: Write>(writer: &mut W) -> Result<()> {
11-
writeln!(writer, "{}", PREREQUISITES).with_context(|| format!("Failed to write file"))
9+
pub fn generate_prerequisites() -> Result<String> {
10+
Ok(PREREQUISITES.to_string())
1211
}

helm-docs/src/readme/table.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ fn generate_default_value(line: &str) -> String {
2121
line.split_once(":").unwrap().1.trim().to_string()
2222
}
2323

24-
pub fn generate_table<W: Write>(writer: &mut W, path: PathBuf) -> Result<()> {
24+
pub fn generate_table(path: PathBuf) -> Result<String> {
25+
let mut writer: Vec<u8> = vec![];
2526
let mut state = 0;
2627
let mut comment = String::new();
2728
let mut key = String::new();
@@ -67,5 +68,7 @@ pub fn generate_table<W: Write>(writer: &mut W, path: PathBuf) -> Result<()> {
6768
state = 2;
6869
}
6970
}
70-
Ok(())
71+
std::str::from_utf8(&writer)
72+
.with_context(|| format!("Failed to create table."))
73+
.map(|s| s.to_string())
7174
}

helm-docs/src/readme/usage.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use crate::chart::Chart;
2-
use anyhow::{Context, Result};
3-
use std::io::Write;
2+
use anyhow::Result;
43

54
const USAGE: &str = r#"
65
1. Add my Helm repository (named `joxit`)
@@ -17,13 +16,11 @@ helm upgrade --install {chart-name} joxit/{chart-name}
1716
```
1817
"#;
1918

20-
pub fn generate_usage<W: Write>(writer: &mut W, chart: Chart) -> Result<()> {
21-
writeln!(
22-
writer,
23-
"{}",
19+
pub fn generate_usage(chart: Chart) -> Result<String> {
20+
Ok(
2421
USAGE
2522
.replace("{chart-name}", &chart.name)
2623
.replace("{chart-pretty-name}", &chart.pretty_name)
24+
.to_string(),
2725
)
28-
.with_context(|| format!("Failed to write file"))
2926
}

0 commit comments

Comments
 (0)