aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2018-04-15 13:15:13 +0200
committerTeddy Wing2018-04-15 13:15:13 +0200
commit3034dfad17ef8f35d68833fade6e4c1fbad15446 (patch)
tree84884f403459201539c646ea32b8700931e54806
parent608488555dfa85023d8c428069666c8439dc2a6c (diff)
downloadmeetup-find-events-rss-3034dfad17ef8f35d68833fade6e4c1fbad15446.tar.bz2
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") | ^^^^
-rw-r--r--src/meetup_rss.rs17
1 files changed, 6 insertions, 11 deletions
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::<Vec<String>>()
+ .join("\n")
}