Añade nueva macro module_name!()

Devuelve el nombre del módulo actual en el que se ejecuta la macro.
This commit is contained in:
Manuel Cillero 2022-04-19 01:32:42 +02:00
parent 993d6fc0eb
commit d37b2e09ab
3 changed files with 13 additions and 0 deletions

View file

@ -11,6 +11,7 @@ pub mod entity {
pub mod migration {
pub use sea_schema::migration::prelude::*;
pub use crate::module_name;
}
#[macro_export]

View file

@ -4,6 +4,7 @@
pub use crate::{
args,
concat_string,
module_name,
theme_static_files,
};

View file

@ -18,6 +18,17 @@ macro_rules! args {
}};
}
#[macro_export]
macro_rules! module_name {
() => {{
let name = module_path!();
match name.rfind("::") {
Some(position) => &name[(position + 2)..],
None => name
}
}};
}
#[macro_export]
macro_rules! theme_static_files {
( $cfg:ident, $dir:expr ) => {{