pub struct ConfigurationSources { /* private fields */ }
Expand description

A description of where to find our configuration options.

Implementations§

source§

impl ConfigurationSources

source

pub fn new_empty() -> Self

Create a new empty ConfigurationSources.

source

pub fn from_cmdline<F, O>( default_config_files: impl IntoIterator<Item = ConfigurationSource>, config_files_options: impl IntoIterator<Item = F>, cmdline_toml_override_options: impl IntoIterator<Item = O> ) -> Self
where F: Into<PathBuf>, O: Into<String>,

Establish a ConfigurationSources the from an infallible command line and defaults

Convenience method for if the default config file location(s) can be infallibly computed.

source

pub fn try_from_cmdline<F, O, DEF, E>( default_config_files: impl FnOnce() -> Result<DEF, E>, config_files_options: impl IntoIterator<Item = F>, cmdline_toml_override_options: impl IntoIterator<Item = O> ) -> Result<Self, E>
where F: Into<PathBuf>, O: Into<String>, DEF: IntoIterator<Item = ConfigurationSource>,

Establish a ConfigurationSources the usual way from a command line and defaults

The caller should have parsed the program’s command line, and extracted (inter alia)

  • config_files_options: Paths of config file(s) (or directories of .toml files)
  • cmdline_toml_override_options: Overrides (“key=value”)

The caller should also provide default_config_files, which returns the default locations of the configuration files. This used if no file(s) are specified on the command line.

mistrust is used to check whether the configuration files have appropriate permissions.

ConfigurationSource::Dirs will be scanned for files whose name ends in .toml. All those files (if any) will be read (in lexical order by filename).

source

pub fn push_source(&mut self, src: ConfigurationSource, must_read: MustRead)

Add src to the list of files or directories that we want to read configuration from.

Configuration files are loaded and applied in the order that they are added to this object.

If the listed file is absent, loading the configuration won’t succeed.

source

pub fn push_option(&mut self, option: impl Into<String>)

Add s to the list of overridden options to apply to our configuration.

Options are applied after all configuration files are loaded, in the order that they are added to this object.

The format for s is as in CmdLine.

source

pub fn set_mistrust(&mut self, mistrust: Mistrust)

Sets the filesystem permission mistrust

source

pub fn mistrust(&self) -> &Mistrust

Reads the filesystem permission mistrust

source

pub fn load(&self) -> Result<ConfigurationTree, ConfigError>

Scan for files and load the configuration into a new ConfigurationTree.

This is a convenience method for scan() followed by [files.load].

source

pub fn scan(&self) -> Result<FoundConfigFiles<'_>, ConfigError>

Scan for configuration source files (including scanning any directories)

Trait Implementations§

source§

impl Clone for ConfigurationSources

source§

fn clone(&self) -> ConfigurationSources

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ConfigurationSources

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ConfigurationSources

source§

fn default() -> ConfigurationSources

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more