pub struct ModuleRegistry { /* private fields */ }Expand description
Ordered collection of registered modules.
Implementations§
Source§impl ModuleRegistry
impl ModuleRegistry
pub fn new() -> Self
Sourcepub fn register(&mut self, module: impl Module) -> &mut Self
pub fn register(&mut self, module: impl Module) -> &mut Self
Registers a module. Registration order breaks ties in the ordering, so foundational modules register first.
Sourcepub fn register_boxed(&mut self, module: Box<dyn Module>) -> &mut Self
pub fn register_boxed(&mut self, module: Box<dyn Module>) -> &mut Self
Registers an already-boxed module, for callers assembling a
Vec<Box<dyn Module>> (the built-in set, an app’s plugins).
Sourcepub fn get(&self, id: ModuleId) -> Option<&dyn Module>
pub fn get(&self, id: ModuleId) -> Option<&dyn Module>
The registered module with this id, if any.
pub fn iter(&self) -> impl Iterator<Item = &dyn Module> + '_
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Sourcepub fn ordered(&self) -> CoreResult<Vec<&dyn Module>>
pub fn ordered(&self) -> CoreResult<Vec<&dyn Module>>
The registered modules in dependency order (a module after every module it
requires); registration order breaks ties. Errors on
a duplicate id, a required module that is not registered, or a cycle. This
is the canonical order for both migrations and registration.
Sourcepub fn ordered_migration_sets(&self) -> CoreResult<Vec<MigrationSet>>
pub fn ordered_migration_sets(&self) -> CoreResult<Vec<MigrationSet>>
Every module’s MigrationSet in dependency order. Feed the result to
migration::run.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ModuleRegistry
impl !UnwindSafe for ModuleRegistry
impl Freeze for ModuleRegistry
impl Send for ModuleRegistry
impl Sync for ModuleRegistry
impl Unpin for ModuleRegistry
impl UnsafeUnpin for ModuleRegistry
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more