diff options
-rw-r--r-- | fondant_deps/src/lib.rs | 7 | ||||
-rw-r--r-- | fondant_derive/src/lib.rs | 7 |
2 files changed, 7 insertions, 7 deletions
diff --git a/fondant_deps/src/lib.rs b/fondant_deps/src/lib.rs index 9559b11..82626b7 100644 --- a/fondant_deps/src/lib.rs +++ b/fondant_deps/src/lib.rs | |||
@@ -21,7 +21,7 @@ pub mod fondant_exports { | |||
21 | } | 21 | } |
22 | 22 | ||
23 | use serde::{de::DeserializeOwned, Serialize}; | 23 | use serde::{de::DeserializeOwned, Serialize}; |
24 | use std::path::PathBuf; | 24 | use std::path::{Path, PathBuf}; |
25 | 25 | ||
26 | #[derive(Debug)] | 26 | #[derive(Debug)] |
27 | /// Errors that `load` and `store` can result in | 27 | /// Errors that `load` and `store` can result in |
@@ -44,9 +44,8 @@ pub enum FondantError { | |||
44 | 44 | ||
45 | /// Derive this trait on a struct to mark it as a 'configuration' struct. | 45 | /// Derive this trait on a struct to mark it as a 'configuration' struct. |
46 | pub trait Configure: Serialize + DeserializeOwned + Default { | 46 | pub trait Configure: Serialize + DeserializeOwned + Default { |
47 | fn load_file(config_file: &PathBuf) -> Result<Self, FondantError>; | 47 | fn load_file<P: AsRef<Path>>(config_file: P) -> Result<Self, FondantError>; |
48 | fn load() -> Result<Self, FondantError>; | 48 | fn load() -> Result<Self, FondantError>; |
49 | fn store(&self) -> Result<(), FondantError>; | 49 | fn store(&self) -> Result<(), FondantError>; |
50 | fn store_file(&self, config_file: &PathBuf) -> Result<(), FondantError>; | 50 | fn store_file<P: AsRef<Path>>(&self, config_file: P) -> Result<(), FondantError>; |
51 | |||
52 | } | 51 | } |
diff --git a/fondant_derive/src/lib.rs b/fondant_derive/src/lib.rs index a06df15..2f852dc 100644 --- a/fondant_derive/src/lib.rs +++ b/fondant_derive/src/lib.rs | |||
@@ -127,8 +127,8 @@ fn gen_impl(ast: &DeriveInput, cfg_path: ConfigPath) -> TokenStream { | |||
127 | Self::load_file(&config_file) | 127 | Self::load_file(&config_file) |
128 | } | 128 | } |
129 | 129 | ||
130 | fn load_file(conf_file: &PathBuf) -> Result<#struct_ident, FondantError> { | 130 | fn load_file<P: AsRef<Path>>(conf_file: P) -> Result<#struct_ident, FondantError> { |
131 | #load_paths | 131 | #load_paths |
132 | match File::open(&conf_file) { // Note: conf_file is different than config_file from #load_paths | 132 | match File::open(&conf_file) { // Note: conf_file is different than config_file from #load_paths |
133 | Ok(mut cfg) => { | 133 | Ok(mut cfg) => { |
134 | let mut cfg_data = String::new(); | 134 | let mut cfg_data = String::new(); |
@@ -149,13 +149,14 @@ fn gen_impl(ast: &DeriveInput, cfg_path: ConfigPath) -> TokenStream { | |||
149 | Err(e) => return Err(FondantError::LoadError), | 149 | Err(e) => return Err(FondantError::LoadError), |
150 | }; | 150 | }; |
151 | } | 151 | } |
152 | |||
152 | fn store(&self) -> Result<(), FondantError> { | 153 | fn store(&self) -> Result<(), FondantError> { |
153 | #load_paths | 154 | #load_paths |
154 | &self.store_file(&config_file)?; | 155 | &self.store_file(&config_file)?; |
155 | Ok(()) | 156 | Ok(()) |
156 | } | 157 | } |
157 | 158 | ||
158 | fn store_file(&self, conf_file: &PathBuf) -> Result<(), FondantError> { | 159 | fn store_file<P: AsRef<Path>>(&self, conf_file: P) -> Result<(), FondantError> { |
159 | #load_paths | 160 | #load_paths |
160 | let mut f = OpenOptions::new() | 161 | let mut f = OpenOptions::new() |
161 | .write(true) | 162 | .write(true) |