diff --git a/helpers/pagetop-macros/src/lib.rs b/helpers/pagetop-macros/src/lib.rs index 923aa922..9cc0c3a2 100644 --- a/helpers/pagetop-macros/src/lib.rs +++ b/helpers/pagetop-macros/src/lib.rs @@ -8,8 +8,8 @@ use proc_macro_error::proc_macro_error; use quote::{quote, quote_spanned, ToTokens}; use syn::{parse_macro_input, parse_str, DeriveInput, ItemFn}; -/// Macro (*attribute*) que asocia a un método `set_` su correspondiente método `with_` para aplicar -/// el patrón *builder*. +/// Macro (*attribute*) que asocia a un método `alter_` su correspondiente método `with_` para +/// aplicar el patrón *builder*. /// /// # Panics /// @@ -19,7 +19,7 @@ use syn::{parse_macro_input, parse_str, DeriveInput, ItemFn}; /// /// ```rust#ignore /// #[fn_builder] -/// pub fn set_example(&mut self) -> &mut Self { +/// pub fn alter_example(&mut self) -> &mut Self { /// // implementación /// } /// ``` @@ -29,32 +29,32 @@ use syn::{parse_macro_input, parse_str, DeriveInput, ItemFn}; /// ```rust#ignore /// #[inline] /// pub fn with_example(mut self) -> Self { -/// self.set_example(); +/// self.alter_example(); /// self /// } /// ``` #[proc_macro_attribute] pub fn fn_builder(_: TokenStream, item: TokenStream) -> TokenStream { - let fn_set = parse_macro_input!(item as ItemFn); - let fn_set_name = fn_set.sig.ident.to_string(); + let fn_alter = parse_macro_input!(item as ItemFn); + let fn_alter_name = fn_alter.sig.ident.to_string(); - if !fn_set_name.starts_with("set_") { + if !fn_alter_name.starts_with("alter_") { let expanded = quote_spanned! { - fn_set.sig.ident.span() => - compile_error!("expected a \"pub fn set_...() -> &mut Self\" method"); + fn_alter.sig.ident.span() => + compile_error!("expected a \"pub fn alter_...() -> &mut Self\" method"); }; return expanded.into(); } - let fn_with_name = fn_set_name.replace("set_", "with_"); - let fn_with_generics = if fn_set.sig.generics.params.is_empty() { + let fn_with_name = fn_alter_name.replace("alter_", "with_"); + let fn_with_generics = if fn_alter.sig.generics.params.is_empty() { fn_with_name.clone() } else { - let g = &fn_set.sig.generics; + let g = &fn_alter.sig.generics; format!("{fn_with_name}{}", quote! { #g }.to_string()) }; - let where_clause = fn_set + let where_clause = fn_alter .sig .generics .where_clause @@ -63,7 +63,7 @@ pub fn fn_builder(_: TokenStream, item: TokenStream) -> TokenStream { format!("{} ", quote! { #where_clause }.to_string()) }); - let args: Vec = fn_set + let args: Vec = fn_alter .sig .inputs .iter() @@ -85,14 +85,14 @@ pub fn fn_builder(_: TokenStream, item: TokenStream) -> TokenStream { #[rustfmt::skip] let fn_with = parse_str::(format!(r##" pub fn {fn_with_generics}(mut self, {}) -> Self {where_clause} {{ - self.{fn_set_name}({}); + self.{fn_alter_name}({}); self }} "##, args.join(", "), params.join(", ") ).as_str()).unwrap(); #[rustfmt::skip] - let fn_set_doc = format!(r##" + let fn_alter_doc = format!(r##"

Use pub fn {fn_with_name}(self, …) -> Self for the builder pattern. @@ -103,8 +103,8 @@ pub fn fn_builder(_: TokenStream, item: TokenStream) -> TokenStream { #[doc(hidden)] #fn_with #[inline] - #[doc = #fn_set_doc] - #fn_set + #[doc = #fn_alter_doc] + #fn_alter }; expanded.into() } @@ -130,7 +130,7 @@ pub fn derive_component_classes(input: TokenStream) -> TokenStream { let name = &input.ident; #[rustfmt::skip] - let fn_set_doc = format!(r##" + let fn_alter_doc = format!(r##"

Use with_classes(self, …) -> Self to apply the builder pattern. @@ -140,9 +140,9 @@ pub fn derive_component_classes(input: TokenStream) -> TokenStream { let expanded = quote! { impl ComponentClasses for #name { #[inline] - #[doc = #fn_set_doc] - fn set_classes(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self { - self.classes.set_value(op, classes); + #[doc = #fn_alter_doc] + fn alter_classes(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self { + self.classes.alter_value(op, classes); self } diff --git a/pagetop/src/base/action/component/after_render_component.rs b/pagetop/src/base/action/component/after_render_component.rs index 3f522f75..66e13b94 100644 --- a/pagetop/src/base/action/component/after_render_component.rs +++ b/pagetop/src/base/action/component/after_render_component.rs @@ -34,7 +34,7 @@ impl AfterRender { } pub fn filter_by_referer_id(mut self, id: impl Into) -> Self { - self.referer_id.set_value(id); + self.referer_id.alter_value(id); self } diff --git a/pagetop/src/base/action/component/before_render_component.rs b/pagetop/src/base/action/component/before_render_component.rs index 5f3d6f6e..4c7cc48f 100644 --- a/pagetop/src/base/action/component/before_render_component.rs +++ b/pagetop/src/base/action/component/before_render_component.rs @@ -34,7 +34,7 @@ impl BeforeRender { } pub fn filter_by_referer_id(mut self, id: impl Into) -> Self { - self.referer_id.set_value(id); + self.referer_id.alter_value(id); self } diff --git a/pagetop/src/base/action/component/is_renderable.rs b/pagetop/src/base/action/component/is_renderable.rs index 93159237..4d78a19c 100644 --- a/pagetop/src/base/action/component/is_renderable.rs +++ b/pagetop/src/base/action/component/is_renderable.rs @@ -34,7 +34,7 @@ impl IsRenderable { } pub fn filter_by_referer_id(mut self, id: impl Into) -> Self { - self.referer_id.set_value(id); + self.referer_id.alter_value(id); self } diff --git a/pagetop/src/base/component/fluent.rs b/pagetop/src/base/component/fluent.rs index 9e7220fa..8e12263f 100644 --- a/pagetop/src/base/component/fluent.rs +++ b/pagetop/src/base/component/fluent.rs @@ -18,7 +18,7 @@ impl Fluent { Fluent(l10n) } - pub fn set_l10n(&mut self, l10n: L10n) -> &mut Self { + pub fn alter_l10n(&mut self, l10n: L10n) -> &mut Self { self.0 = l10n; self } diff --git a/pagetop/src/base/component/html.rs b/pagetop/src/base/component/html.rs index 6d308438..feb16288 100644 --- a/pagetop/src/base/component/html.rs +++ b/pagetop/src/base/component/html.rs @@ -18,7 +18,7 @@ impl Html { Html(html) } - pub fn set_html(&mut self, html: Markup) -> &mut Self { + pub fn alter_html(&mut self, html: Markup) -> &mut Self { self.0 = html; self } diff --git a/pagetop/src/core/component/children.rs b/pagetop/src/core/component/children.rs index 9a5db05b..705a4525 100644 --- a/pagetop/src/core/component/children.rs +++ b/pagetop/src/core/component/children.rs @@ -102,7 +102,7 @@ impl Children { // Children BUILDER. #[fn_builder] - pub fn set_value(&mut self, op: ChildOp) -> &mut Self { + pub fn alter_value(&mut self, op: ChildOp) -> &mut Self { match op { ChildOp::Add(any) => self.add(any), ChildOp::InsertAfterId(id, any) => self.insert_after_id(id, any), @@ -116,7 +116,7 @@ impl Children { } #[fn_builder] - pub fn set_typed(&mut self, op: TypedOp) -> &mut Self { + pub fn alter_typed(&mut self, op: TypedOp) -> &mut Self { match op { TypedOp::Add(typed) => self.add(typed.to_child()), TypedOp::InsertAfterId(id, typed) => self.insert_after_id(id, typed.to_child()), diff --git a/pagetop/src/core/component/classes.rs b/pagetop/src/core/component/classes.rs index a61809c6..ab094be7 100644 --- a/pagetop/src/core/component/classes.rs +++ b/pagetop/src/core/component/classes.rs @@ -6,14 +6,14 @@ pub trait ComponentClassesOp { } pub trait ComponentClasses: ComponentBase + ComponentClassesOp { - fn set_classes(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self; + fn alter_classes(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self; fn classes(&self) -> &OptionClasses; } impl ComponentClassesOp for C { fn with_classes(mut self, op: ClassesOp, classes: impl Into) -> Self { - self.set_classes(op, classes); + self.alter_classes(op, classes); self } } diff --git a/pagetop/src/core/component/context.rs b/pagetop/src/core/component/context.rs index 924c626d..e0529e61 100644 --- a/pagetop/src/core/component/context.rs +++ b/pagetop/src/core/component/context.rs @@ -74,7 +74,7 @@ impl Context { } } - pub fn set_assets(&mut self, op: AssetsOp) -> &mut Self { + pub fn alter_assets(&mut self, op: AssetsOp) -> &mut Self { match op { AssetsOp::LangId(langid) => { self.langid = langid; @@ -109,12 +109,16 @@ impl Context { self } - pub fn set_in_region(&mut self, region: &'static str, op: ChildOp) -> &mut Self { - self.regions.set_in_region(region, op); + pub fn alter_in_region(&mut self, region: &'static str, op: ChildOp) -> &mut Self { + self.regions.alter_in_region(region, op); self } - pub fn set_param(&mut self, key: &'static str, value: &T) -> &mut Self { + pub fn alter_param( + &mut self, + key: &'static str, + value: &T, + ) -> &mut Self { self.params.insert(key, value.to_string()); self } diff --git a/pagetop/src/core/layout/regions.rs b/pagetop/src/core/layout/regions.rs index 68df24ba..8ec5f59f 100644 --- a/pagetop/src/core/layout/regions.rs +++ b/pagetop/src/core/layout/regions.rs @@ -24,9 +24,9 @@ impl ChildrenInRegions { } #[fn_builder] - pub fn set_in_region(&mut self, region: &'static str, op: ChildOp) -> &mut Self { + pub fn alter_in_region(&mut self, region: &'static str, op: ChildOp) -> &mut Self { if let Some(region) = self.0.get_mut(region) { - region.set_value(op); + region.alter_value(op); } else { self.0.insert(region, Children::new().with_value(op)); } @@ -56,18 +56,18 @@ impl InRegion { COMMON_REGIONS .write() .unwrap() - .set_in_region("content", ChildOp::Add(child)); + .alter_in_region("content", ChildOp::Add(child)); } InRegion::Named(name) => { COMMON_REGIONS .write() .unwrap() - .set_in_region(name, ChildOp::Add(child)); + .alter_in_region(name, ChildOp::Add(child)); } InRegion::OfLayout(region, layout) => { let mut regions = LAYOUT_REGIONS.write().unwrap(); if let Some(r) = regions.get_mut(&layout.type_id()) { - r.set_in_region(region, ChildOp::Add(child)); + r.alter_in_region(region, ChildOp::Add(child)); } else { regions.insert(layout.type_id(), ChildrenInRegions::with(region, child)); } diff --git a/pagetop/src/html/opt_classes.rs b/pagetop/src/html/opt_classes.rs index c9df2892..cb003e0a 100644 --- a/pagetop/src/html/opt_classes.rs +++ b/pagetop/src/html/opt_classes.rs @@ -31,7 +31,7 @@ impl OptionClasses { // OptionClasses BUILDER. #[fn_builder] - pub fn set_value(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self { + pub fn alter_value(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self { let classes: String = classes.into(); let classes: Vec<&str> = classes.split_ascii_whitespace().collect(); diff --git a/pagetop/src/html/opt_component.rs b/pagetop/src/html/opt_component.rs index 5082a939..ea18890e 100644 --- a/pagetop/src/html/opt_component.rs +++ b/pagetop/src/html/opt_component.rs @@ -18,7 +18,7 @@ impl OptionComponent { // OptionComponent BUILDER. #[fn_builder] - pub fn set_value(&mut self, component: Option) -> &mut Self { + pub fn alter_value(&mut self, component: Option) -> &mut Self { if let Some(component) = component { self.0 = Some(TypedComponent::with(component)); } else { diff --git a/pagetop/src/html/opt_id.rs b/pagetop/src/html/opt_id.rs index 80e98325..6500c14a 100644 --- a/pagetop/src/html/opt_id.rs +++ b/pagetop/src/html/opt_id.rs @@ -11,7 +11,7 @@ impl OptionId { // OptionId BUILDER. #[fn_builder] - pub fn set_value(&mut self, value: impl Into) -> &mut Self { + pub fn alter_value(&mut self, value: impl Into) -> &mut Self { self.0 = Some(value.into().trim().replace(' ', "_")); self } diff --git a/pagetop/src/html/opt_name.rs b/pagetop/src/html/opt_name.rs index 5ba0c486..9a668e3a 100644 --- a/pagetop/src/html/opt_name.rs +++ b/pagetop/src/html/opt_name.rs @@ -11,7 +11,7 @@ impl OptionName { // OptionName BUILDER. #[fn_builder] - pub fn set_value(&mut self, value: impl Into) -> &mut Self { + pub fn alter_value(&mut self, value: impl Into) -> &mut Self { self.0 = Some(value.into().trim().replace(' ', "_")); self } diff --git a/pagetop/src/html/opt_string.rs b/pagetop/src/html/opt_string.rs index 7de22486..36c467ac 100644 --- a/pagetop/src/html/opt_string.rs +++ b/pagetop/src/html/opt_string.rs @@ -11,7 +11,7 @@ impl OptionString { // OptionString BUILDER. #[fn_builder] - pub fn set_value(&mut self, value: impl Into) -> &mut Self { + pub fn alter_value(&mut self, value: impl Into) -> &mut Self { self.0 = Some(value.into().trim().to_owned()); self } diff --git a/pagetop/src/html/opt_translated.rs b/pagetop/src/html/opt_translated.rs index e50a073f..acefac08 100644 --- a/pagetop/src/html/opt_translated.rs +++ b/pagetop/src/html/opt_translated.rs @@ -13,7 +13,7 @@ impl OptionTranslated { // OptionTranslated BUILDER. #[fn_builder] - pub fn set_value(&mut self, value: L10n) -> &mut Self { + pub fn alter_value(&mut self, value: L10n) -> &mut Self { self.0 = value; self } diff --git a/pagetop/src/response/page.rs b/pagetop/src/response/page.rs index d099af2d..9a284dd2 100644 --- a/pagetop/src/response/page.rs +++ b/pagetop/src/response/page.rs @@ -44,68 +44,68 @@ impl Page { // Page BUILDER. #[fn_builder] - pub fn set_title(&mut self, title: L10n) -> &mut Self { - self.title.set_value(title); + pub fn alter_title(&mut self, title: L10n) -> &mut Self { + self.title.alter_value(title); self } #[fn_builder] - pub fn set_description(&mut self, description: L10n) -> &mut Self { - self.description.set_value(description); + pub fn alter_description(&mut self, description: L10n) -> &mut Self { + self.description.alter_value(description); self } #[fn_builder] - pub fn set_metadata(&mut self, name: &'static str, content: &'static str) -> &mut Self { + pub fn alter_metadata(&mut self, name: &'static str, content: &'static str) -> &mut Self { self.metadata.push((name, content)); self } #[fn_builder] - pub fn set_property(&mut self, property: &'static str, content: &'static str) -> &mut Self { + pub fn alter_property(&mut self, property: &'static str, content: &'static str) -> &mut Self { self.metadata.push((property, content)); self } #[fn_builder] - pub fn set_assets(&mut self, op: AssetsOp) -> &mut Self { - self.context.set_assets(op); + pub fn alter_assets(&mut self, op: AssetsOp) -> &mut Self { + self.context.alter_assets(op); self } #[fn_builder] - pub fn set_body_id(&mut self, id: impl Into) -> &mut Self { - self.body_id.set_value(id); + pub fn alter_body_id(&mut self, id: impl Into) -> &mut Self { + self.body_id.alter_value(id); self } #[fn_builder] - pub fn set_body_classes(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self { - self.body_classes.set_value(op, classes); + pub fn alter_body_classes(&mut self, op: ClassesOp, classes: impl Into) -> &mut Self { + self.body_classes.alter_value(op, classes); self } #[fn_builder] - pub fn set_body_skip_to(&mut self, id: impl Into) -> &mut Self { - self.body_skip_to.set_value(id); + pub fn alter_body_skip_to(&mut self, id: impl Into) -> &mut Self { + self.body_skip_to.alter_value(id); self } #[fn_builder] - pub fn set_layout(&mut self, layout: &'static str) -> &mut Self { - self.context.set_assets(AssetsOp::Layout(layout)); + pub fn alter_layout(&mut self, layout: &'static str) -> &mut Self { + self.context.alter_assets(AssetsOp::Layout(layout)); self } #[fn_builder] - pub fn set_in_region(&mut self, region: &'static str, op: ChildOp) -> &mut Self { - self.context.set_in_region(region, op); + pub fn alter_in_region(&mut self, region: &'static str, op: ChildOp) -> &mut Self { + self.context.alter_in_region(region, op); self } pub fn with_component(mut self, component: impl ComponentTrait) -> Self { self.context - .set_in_region("content", ChildOp::Add(ChildComponent::with(component))); + .alter_in_region("content", ChildOp::Add(ChildComponent::with(component))); self } @@ -115,7 +115,7 @@ impl Page { component: impl ComponentTrait, ) -> Self { self.context - .set_in_region(region, ChildOp::Add(ChildComponent::with(component))); + .alter_in_region(region, ChildOp::Add(ChildComponent::with(component))); self }