From 3034dfad17ef8f35d68833fade6e4c1fbad15446 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 15 Apr 2018 13:15:13 +0200 Subject: meetup_rss(description_header): Improve string join section Instead of the verbose and unclear appending, use a `join` to add the newline. Filter out empty strings to ensure the newline doesn't get added if any of `where` or `place` are empty. Needed to convert the slice strings to owned strings to deal with this error: error[E0599]: no method named `join` found for type `std::vec::Vec<&std::string::String>` in the current scope --> src/meetup_rss.rs:92:10 | 92 | .join("\n") | ^^^^ --- src/meetup_rss.rs | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/meetup_rss.rs b/src/meetup_rss.rs index efdaa5e..80409f9 100644 --- a/src/meetup_rss.rs +++ b/src/meetup_rss.rs @@ -73,17 +73,12 @@ fn description_header(event: &Event) -> String { "".to_owned() }; - let header = when; - - let header = if !header.is_empty() && !place.is_empty() { - format!("{}\n", header) - } else { - header - }; - - let header = format!("{}{}", header, place); - - header + [when, place] + .iter() + .filter(|s| !s.is_empty()) + .map(|s| s.to_owned()) + .collect::>() + .join("\n") } -- cgit v1.2.3