diff options
| author | Fuwn <[email protected]> | 2023-04-16 21:15:12 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-04-16 21:15:12 -0700 |
| commit | c7adc5f014d4635c8468a863a124ddce4a9fe0e7 (patch) | |
| tree | 2f5a8aafdbf3fa0712d01ecb95ccd10eb691fd10 /src/macros.rs | |
| parent | fix(amenadiel): modules macro unwrap on none (diff) | |
| download | locus-c7adc5f014d4635c8468a863a124ddce4a9fe0e7.tar.xz locus-c7adc5f014d4635c8468a863a124ddce4a9fe0e7.zip | |
refactor(response): rewrite unnecessary macro to function
Diffstat (limited to 'src/macros.rs')
| -rw-r--r-- | src/macros.rs | 43 |
1 files changed, 1 insertions, 42 deletions
diff --git a/src/macros.rs b/src/macros.rs index 0d1e49d..55fefcd 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -16,47 +16,6 @@ // Copyright (C) 2022-2022 Fuwn <[email protected]> // SPDX-License-Identifier: GPL-3.0-only -use once_cell::sync::Lazy; - -pub static QUOTES: Lazy<Vec<String>> = Lazy::new(|| { - serde_json::from_str(include_str!("../content/json/quotes.json")).unwrap() -}); - -#[derive(yarte::Template)] -#[template(path = "main")] -pub struct Main<'a> { - pub body: &'a str, - pub hits: &'a i32, - pub quote: &'a str, - pub commit: &'a str, - pub mini_commit: &'a str, -} - -#[macro_export] -macro_rules! success { - ($body:expr, $context:ident) => {{ - $crate::route::cache(&$context, &$body); - - ::windmark::Response::success( - $crate::macros::Main { - body: &$body, - hits: &$crate::route::hits_from($context.url.path()), - quote: { - use ::rand::prelude::SliceRandom; - - &$crate::macros::QUOTES - .choose(&mut ::rand::thread_rng()) - .unwrap() - .to_string() - }, - commit: &format!("/tree/{}", env!("VERGEN_GIT_SHA")), - mini_commit: env!("VERGEN_GIT_SHA").get(0..5).unwrap_or("UNKNOWN"), - } - .to_string(), - ) - }}; -} - #[macro_export] macro_rules! batch_mount { ("pages", $router:ident, $(($path:literal, $description:literal, $file:literal)),* $(,)?) => { @@ -69,7 +28,7 @@ macro_rules! batch_mount { include_str!(concat!("../../content/static/", $file, ".gmi")); $crate::route::cache(&context, &content); - $crate::success!(content, context) + $crate::response::success(&content, &context) }); )* }; |