Rename TestDecode to YamlDecode

This commit is contained in:
Paul Hauner
2019-05-15 11:12:49 +10:00
parent 9f42d4d764
commit b7a8613444
8 changed files with 27 additions and 24 deletions

View File

@@ -0,0 +1,24 @@
use yaml_rust::{Yaml, YamlEmitter, YamlLoader};
pub fn extract_yaml_by_key(yaml: &str, key: &str) -> String {
let doc = &YamlLoader::load_from_str(yaml).unwrap()[0];
let subsection = &doc[key];
yaml_to_string(subsection)
}
pub fn extract_yaml_by_index(yaml: &str, index: usize) -> String {
let doc = &YamlLoader::load_from_str(yaml).unwrap()[0];
let subsection = &doc[index];
yaml_to_string(subsection)
}
pub fn yaml_to_string(yaml: &Yaml) -> String {
let mut out_str = String::new();
let mut emitter = YamlEmitter::new(&mut out_str);
emitter.escape_all_strings(true);
emitter.dump(yaml).unwrap();
out_str
}