Saves current configuration to disk. Writes configuration to the default path in TOML format and ensures all required directories exist. # Errors Returns error if: - TOML serialization fails - File write fails - Directory creation fails
(&self)
| 376 | /// - File write fails |
| 377 | /// - Directory creation fails |
| 378 | pub fn save(&self) -> Result<()> { |
| 379 | let config_str = |
| 380 | toml::to_string_pretty(self).map_err(|e| LearnerError::Config(e.to_string()))?; |
| 381 | |
| 382 | let config_file = Self::default_path()?.join("config.toml"); |
| 383 | debug!("Initializing config to: {config_file:?}"); |
| 384 | std::fs::write(config_file, config_str)?; |
| 385 | |
| 386 | // Ensure retriever config directory exists |
| 387 | std::fs::create_dir_all(&self.retrievers_path)?; |
| 388 | |
| 389 | Ok(()) |
| 390 | } |
| 391 | |
| 392 | /// Creates new configuration with example retriever configurations. |
| 393 | /// |