Skip to content

Commit

Permalink
docs(config): add link to snapshot method
Browse files Browse the repository at this point in the history
We noticed that the docs around config are not as helpful yet as they
could be. Newer rust users tend to assume that using `get_str` wouldn't
be as hard to use and that it instead would work the same way as the other
getters. This commit:

- Adds a link to `snapshot` method documentation to provide additional
  guidance for newer Rust users.
- Extends the error explanation with a vague reason to enhance
  understanding of the current behavior.

Co-authored-by: gytic <[email protected]>
  • Loading branch information
RobWalt and gytic committed Nov 27, 2024
1 parent a2e05da commit 4055998
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,15 +237,21 @@ impl Config {
/// This is the same as `get_bytes` except that it may return `Err` if
/// the bytes are not valid utf-8.
///
/// This method will return an error if this `Config` is not a snapshot.
/// For consistency reasons, this method can only be called on a [`snapshot`].
/// An error will be returned otherwise.
///
/// [`snapshot`]: `crate::Config::snapshot`
pub fn get_str(&self, name: &str) -> Result<&str, Error> {
str::from_utf8(self.get_bytes(name)?)
.map_err(|_| Error::from_str("configuration value is not valid utf8"))
}

/// Get the value of a string config variable as a byte slice.
///
/// This method will return an error if this `Config` is not a snapshot.
/// For consistency reasons, this method can only be called on a [`snapshot`].
/// An error will be returned otherwise.
///
/// [`snapshot`]: `crate::Config::snapshot`
pub fn get_bytes(&self, name: &str) -> Result<&[u8], Error> {
let mut ret = ptr::null();
let name = CString::new(name)?;
Expand Down

0 comments on commit 4055998

Please sign in to comment.