blob: 68790821e4f421699b4c9d7f248f324511565353 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
use rss::{Channel, ChannelBuilder, Item};
use meetup::event::Event;
pub fn generate(events: Vec<Event>) -> Result<Channel, String> {
let items: Vec<Item> = events.into_iter().map(|event| {
let mut item = Item::default();
item.set_title(event.name);
item.set_link(event.link);
item.set_description(event.description);
item
}).collect();
Ok(
ChannelBuilder::default()
.title("Test")
.description("Description")
.items(items)
.build()?
)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_generate_builds_a_channel() {
let x = generate(
vec![
Event {
name: "Summer Sun Celebration".to_owned(),
description: "Description".to_owned(),
link: "http://example.com".to_owned(),
local_date: "2018-04-13".to_owned(),
local_time: "18:30".to_owned(),
}
]
);
println!("{:?}", x);
}
}
|