option path

This commit is contained in:
Alex Janka 2024-02-12 11:38:19 +11:00
parent cd100ca7fe
commit 6c6cb913c3
3 changed files with 9 additions and 6 deletions

2
Cargo.lock generated
View file

@ -1517,7 +1517,7 @@ dependencies = [
[[package]]
name = "tesla-common"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"ron",
"serde",

View file

@ -1,6 +1,6 @@
[package]
name = "tesla-common"
version = "0.3.0"
version = "0.3.1"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -11,11 +11,14 @@ pub struct AuthInfo {
}
impl AuthInfo {
pub fn save(&self, path: &Path) -> Result<Option<String>, ron::Error> {
pub fn save(&self, path: Option<&Path>) -> Result<Option<String>, ron::Error> {
let ser = ron::ser::to_string(self)?;
Ok(std::fs::write(path, ser.clone())
.map(|_v| None)
.unwrap_or(Some(ser)))
Ok(match path {
Some(path) => std::fs::write(path, ser.clone())
.map(|_v| None)
.unwrap_or(Some(ser)),
None => Some(ser),
})
}
}