Trait confu::Confu[][src]

pub trait Confu {
    fn confu() -> Self;
fn show(&self); }
Expand description

derived automatically for any non-enum like struct that contain only the named String fields via #[derive(Confu)].

(note: any other struct types or enums, and use of non-String fields is UB, currently)

Required methods

fn confu() -> Self[src]

Fetches the configuration as specified in a struct decorated with #[derive(Confu)].

Panics

When a required argument was not provided.

Returns

An instance of a struct it was derived for, with configuration values populated. Note that, optional fields are set to an empty String.

fn show(&self)[src]

Displays the configuration and build information.

Such information is displayed in a rather minimalistic fascion, and is suitable for “untrusted” environments, such as cloud deploys, where logging private information is not a good idea.

  • fields marked with #[protect] are displayed as ENV_VAR_NAME/--cmd_arg_name="xxxxxxx"
  • fields marked with #[hide] are not shown at all

Implementors