diff options
author | Teddy Wing | 2018-04-15 13:15:13 +0200 |
---|---|---|
committer | Teddy Wing | 2018-04-15 13:15:13 +0200 |
commit | 3034dfad17ef8f35d68833fade6e4c1fbad15446 (patch) | |
tree | 84884f403459201539c646ea32b8700931e54806 /src | |
parent | 608488555dfa85023d8c428069666c8439dc2a6c (diff) | |
download | meetup-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")
| ^^^^
Diffstat (limited to 'src')
-rw-r--r-- | src/meetup_rss.rs | 17 |
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") } |