♻️ [minimal] Incorpora paste! a las utilidades

This commit is contained in:
Manuel Cillero 2025-12-07 12:49:51 +01:00
parent 7b23e9c1ea
commit 144b1eee45
7 changed files with 42 additions and 14 deletions

View file

@ -15,9 +15,6 @@ pub use pagetop_statics::ResourceFiles;
#[doc(hidden)]
pub use actix_web::test;
#[doc(hidden)]
pub use paste::paste;
/// Configura un servicio web para publicar archivos estáticos.
///
/// La macro ofrece tres modos para configurar el servicio:
@ -75,7 +72,7 @@ macro_rules! static_files_service {
}
}
if serve_embedded {
$crate::service::paste! {
$crate::util::paste! {
mod [<static_files_ $bundle>] {
include!(concat!(env!("OUT_DIR"), "/", stringify!($bundle), ".rs"));
}
@ -95,7 +92,7 @@ macro_rules! static_files_service {
route = $route,
);
let _ = span.in_scope(|| {
$crate::service::paste! {
$crate::util::paste! {
mod [<static_files_ $bundle>] {
include!(concat!(env!("OUT_DIR"), "/", stringify!($bundle), ".rs"));
}

View file

@ -10,6 +10,18 @@ use std::path::{Path, PathBuf};
pub use pagetop_minimal::{concatdoc, formatdoc, indoc, join, join_pair, kv};
/// Permite *pegar* tokens y generar identificadores a partir de otros.
///
/// Dentro de `paste!`, los identificadores escritos como `[< ... >]` se combinan en uno solo que
/// puede reutilizarse para referirse a items existentes o para definir nuevos (funciones,
/// estructuras, métodos, etc.).
///
/// También admite modificadores de estilo (`lower`, `upper`, `snake`, `camel`, etc.) para
/// transformar fragmentos interpolados antes de construir el nuevo identificador.
pub use pagetop_minimal::paste;
// La documentación anterior está copiada de `pagetop_minimal::paste!` porque el *crate* original
// no la define y la de `pagetop_minimal` no se hereda automáticamente.
// **< FUNCIONES ÚTILES >***************************************************************************
/// Resuelve y valida la ruta de un directorio existente, devolviendo una ruta absoluta.