diff options
| -rw-r--r-- | meetup/src/lib.rs | 5 | ||||
| -rw-r--r-- | src/build_rss.rs | 4 | ||||
| -rw-r--r-- | src/errors.rs | 6 | ||||
| -rw-r--r-- | src/lib.rs | 3 | ||||
| -rw-r--r-- | src/meetup_rss.rs | 7 | 
5 files changed, 19 insertions, 6 deletions
| diff --git a/meetup/src/lib.rs b/meetup/src/lib.rs index ba62ff2..36cb13b 100644 --- a/meetup/src/lib.rs +++ b/meetup/src/lib.rs @@ -8,5 +8,8 @@ extern crate serde_derive;  extern crate serde_json;  pub mod client; -pub mod errors;  pub mod event; + +mod errors; + +pub use errors::Error; diff --git a/src/build_rss.rs b/src/build_rss.rs index 93430a1..0c31a43 100644 --- a/src/build_rss.rs +++ b/src/build_rss.rs @@ -1,4 +1,4 @@ -use std::error::Error; +use errors::*;  use meetup::client;  use meetup_rss; @@ -12,7 +12,7 @@ pub fn write_feed(      end_date_range: String,      radius: Option<String>,      page: Option<String>, -) -> Result<(), Box<Error>> { +) -> Result<()> {      let client = client::Client::new(token);      let events = client.find_upcoming_events(          latitude, diff --git a/src/errors.rs b/src/errors.rs new file mode 100644 index 0000000..d9e431b --- /dev/null +++ b/src/errors.rs @@ -0,0 +1,6 @@ +error_chain! { +    foreign_links { +        Meetup(::meetup::Error); +        Rss(::rss::Error); +    } +} @@ -1,7 +1,10 @@ +#[macro_use] +extern crate error_chain;  extern crate rss;  extern crate meetup;  pub mod build_rss; +mod errors;  mod meetup_rss; diff --git a/src/meetup_rss.rs b/src/meetup_rss.rs index 7dd2b9e..d1d3f5f 100644 --- a/src/meetup_rss.rs +++ b/src/meetup_rss.rs @@ -1,10 +1,11 @@ -use rss::{self, Channel, ChannelBuilder, Item}; +use rss::{Channel, ChannelBuilder, Item};  use std::io; +use errors::*;  use meetup::event::Event; -pub fn generate(events: &Vec<Event>) -> Result<Channel, String> { +pub fn generate(events: &Vec<Event>) -> Result<Channel> {      let items: Vec<Item> = events.into_iter().map(|event| {          let mut item = Item::default();          item.set_title(event.name.clone()); @@ -24,7 +25,7 @@ pub fn generate(events: &Vec<Event>) -> Result<Channel, String> {  }  /// Writes the channel to standard output. -pub fn write(channel: Channel) -> Result<(), rss::Error> { +pub fn write(channel: Channel) -> Result<()> {      let stdout = io::stdout();      let handle = stdout.lock(); | 
