pub struct Config { /* private fields */ }Expand description
Configuration instance that provides access to cached configuration values
Each Config instance is associated with a specific configuration file
and provides type-safe access to its values.
Implementations§
Source§impl Config
impl Config
Sourcepub fn new(name: &str) -> Self
pub fn new(name: &str) -> Self
Creates or retrieves a cached configuration instance
The configuration is loaded from configs/{name}.json. The file is parsed
only once and then cached for subsequent accesses.
§Arguments
name- Name of the configuration file (without extension)
§Panics
- If the configuration file doesn’t exist in
configs/directory - If the file contains invalid JSON
§Examples
use config_ro::Config;
let config = Config::new("app_settings");Sourcepub fn get<T: DeserializeOwned>(&self, path: &str) -> Option<T>
pub fn get<T: DeserializeOwned>(&self, path: &str) -> Option<T>
Retrieves a configuration value by its path, supporting nested structures
Uses dot notation to access nested values (e.g., “database.connection.port”). The value is automatically deserialized to the requested type.
§Arguments
path- Dot-separated path to the configuration value
§Returns
Some(T) if the value exists and can be deserialized, None otherwise
§Examples
use config_ro::Config;
let config = Config::new("app");
// Flat structure
let timeout: u32 = config.get("timeout").unwrap();
// Nested structure
let db_port: u16 = config.get("database.connection.port").unwrap();
// Optional values
let retry_count: Option<u8> = config.get("retries.count");Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more