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")  }  | 
