Enum sea_orm_rocket::figment::Source
#[non_exhaustive]
pub enum Source {
File(PathBuf),
Code(&'static Location<'static>),
Custom(String),
}
Expand description
The source for a configuration value.
The Source
of a given value can be determined via that value’s
Metadata.source
retrievable via the value’s
Tag
(via Value::tag()
or via the magic value Tagged
) and
Figment::get_metadata()
.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
File(PathBuf)
A file: the path to the file.
Code(&'static Location<'static>)
Some programatic value: the source location.
Custom(String)
A custom source all-together.
Implementations
impl Source
impl Source
pub fn file_path(&self) -> Option<&Path>
pub fn file_path(&self) -> Option<&Path>
Returns the path to the source file if self.kind
is Kind::File
.
Example
use std::path::Path;
use figment::Source;
let source = Source::from(Path::new("a/b/c.txt"));
assert_eq!(source.file_path(), Some(Path::new("a/b/c.txt")));
pub fn code_location(&self) -> Option<&'static Location<'static>>
pub fn code_location(&self) -> Option<&'static Location<'static>>
Returns the location to the source code if self
is Source::Code
.
Example
use std::panic::Location;
use figment::Source;
let location = Location::caller();
let source = Source::Code(location);
assert_eq!(source.code_location(), Some(location));
Trait Implementations
impl Display for Source
impl Display for Source
Displays the source. Location and custom sources are displayed directly. File paths are displayed relative to the current working directory if the relative path is shorter than the complete path.
impl StructuralPartialEq for Source
Auto Trait Implementations
impl RefUnwindSafe for Source
impl Send for Source
impl Sync for Source
impl Unpin for Source
impl UnwindSafe for Source
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
fn into_collection<A>(self) -> SmallVec<A>where
A: Array<Item = T>,
fn into_collection<A>(self) -> SmallVec<A>where
A: Array<Item = T>,
Converts
self
into a collection.