Updated settings::utils::write_file’s signature for more flexibility
`write_file` now accepts as its second argument any type that implements the `ToString` trait so that not only Strings will be accepted but any type that can be turned into one.
This commit is contained in:
parent
488ceba1bb
commit
8642067eb3
@ -188,7 +188,7 @@ fn write_settings() {
|
|||||||
version: "1"
|
version: "1"
|
||||||
categories: []
|
categories: []
|
||||||
rules: []"#;
|
rules: []"#;
|
||||||
utils::write_file(&path, serde_yaml::to_string(&s).unwrap()).unwrap();
|
utils::write_file(&path, &serde_yaml::to_string(&s).unwrap()).unwrap();
|
||||||
assert_eq!(settings, utils::read_file(&path).unwrap());
|
assert_eq!(settings, utils::read_file(&path).unwrap());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@ pub fn read_file(path: &Path) -> Result<String> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn write_file(path: &Path, content: String) -> Result<()> {
|
|
||||||
/// Write a `String` into a file
|
/// Write a `String` into a file
|
||||||
///
|
///
|
||||||
/// # Example
|
/// # Example
|
||||||
@ -54,6 +53,10 @@ pub fn write_file(path: &Path, content: String) -> Result<()> {
|
|||||||
/// let path = std::path::Path::new("./path/to/my/file.txt");
|
/// let path = std::path::Path::new("./path/to/my/file.txt");
|
||||||
/// lang_evolve_core::settings::utils::write_file(&path, &content).unwrap();
|
/// lang_evolve_core::settings::utils::write_file(&path, &content).unwrap();
|
||||||
/// ```
|
/// ```
|
||||||
|
pub fn write_file<S>(path: &Path, content: &S) -> Result<()>
|
||||||
|
where
|
||||||
|
S: std::string::ToString,
|
||||||
|
{
|
||||||
use std::io::prelude::*;
|
use std::io::prelude::*;
|
||||||
let mut file = match File::create(&path) {
|
let mut file = match File::create(&path) {
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
@ -62,7 +65,7 @@ pub fn write_file(path: &Path, content: String) -> Result<()> {
|
|||||||
}
|
}
|
||||||
Ok(file) => file,
|
Ok(file) => file,
|
||||||
};
|
};
|
||||||
match file.write_all(content.as_bytes()) {
|
match file.write_all(content.to_string().as_bytes()) {
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
warn!(
|
warn!(
|
||||||
"Could not write settings to file {}: {}",
|
"Could not write settings to file {}: {}",
|
||||||
|
Loading…
Reference in New Issue
Block a user