From 2e1e63671ddfd08c4a7fb0d1e391d3eb5a11b4af Mon Sep 17 00:00:00 2001 From: Devin R Date: Wed, 22 Jul 2020 18:57:52 -0400 Subject: [PATCH] Turn long matches! into is_redacted EventKindVariation method --- ruma-events-macros/src/event.rs | 14 ++------------ ruma-events-macros/src/event_parse.rs | 6 ++++++ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/ruma-events-macros/src/event.rs b/ruma-events-macros/src/event.rs index 91395e61..aac6657b 100644 --- a/ruma-events-macros/src/event.rs +++ b/ruma-events-macros/src/event.rs @@ -43,12 +43,7 @@ pub fn expand_event(input: DeriveInput) -> syn::Result { .iter() .map(|field| { let name = field.ident.as_ref().unwrap(); - if name == "content" && matches!( - var, - EventKindVariation::Redacted - | EventKindVariation::RedactedSync - | EventKindVariation::RedactedStripped - ) { + if name == "content" && var.is_redacted() { quote! { if ::ruma_events::RedactedEventContent::has_serialize_fields(&self.content) { state.serialize_field("content", &self.content)?; @@ -161,12 +156,7 @@ fn expand_deserialize_event( .map(|field| { let name = field.ident.as_ref().unwrap(); if name == "content" { - if is_generic && matches!( - var, - EventKindVariation::Redacted - | EventKindVariation::RedactedSync - | EventKindVariation::RedactedStripped - ) { + if is_generic && var.is_redacted() { quote! { let content = match C::has_deserialize_fields() { ::ruma_events::HasDeserializeFields::False => { diff --git a/ruma-events-macros/src/event_parse.rs b/ruma-events-macros/src/event_parse.rs index e6cfd01c..3c7511fc 100644 --- a/ruma-events-macros/src/event_parse.rs +++ b/ruma-events-macros/src/event_parse.rs @@ -25,6 +25,12 @@ pub enum EventKindVariation { ManuallyImpled, } +impl EventKindVariation { + pub fn is_redacted(&self) -> bool { + matches!(self, Self::Redacted | Self::RedactedSync | Self::RedactedStripped) + } +} + // If the variants of this enum change `to_event_path` needs to be updated as well. pub enum EventKind { Basic(Ident),