aboutsummaryrefslogtreecommitdiffstats
path: root/src/meetup_rss.rs
AgeCommit message (Collapse)Author
2018-04-15Add license (GNU GPLv3+)Teddy Wing
2018-04-15meetup_rss: Use HTML formatting for descriptionTeddy Wing
Well, turns out that the RSS item `description` field uses HTML, so my `\n`s didn't actually change the formatting in a real RSS reader. Use HTML tag formatting instead to get our description header with date and venue to look right.
2018-04-15meetup_rss(generate): Don't include newlines in description if emptyTeddy Wing
If either the description or both the date & time and venue were empty, a couple of newlines would unnecessarily be added to the `Item` description. This gets rid of them.
2018-04-15meetup_rss: Create `join_nonempty` functionTeddy Wing
Move the join logic from `description_header` into a new function so we can reuse it.
2018-04-15meetup_rss(description_header): Improve string join sectionTeddy Wing
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") | ^^^^
2018-04-15meetup_rss(generate): Include `description_header` in item descriptionTeddy Wing
2018-04-15meetup_rss(description_header): Delete dev commentsTeddy Wing
These were in-progress development ideas that have been superseded.
2018-04-15meetup_rss(description_header): Add header commentTeddy Wing
2018-04-15meetup_rss: Add `description_header` to format date & venueTeddy Wing
This function will format a string containing a date and venue for inclusion in the description of an RSS `Item`. Added a `derive(Clone)` on `Venue` in order to be able to clone it to use its fields in the function.
2018-04-15Add `Venue` type and venue field to `Event`Teddy Wing
This allows us to deserialise the venue location for events and include it in the RSS items.
2018-04-15Update tests for `Event` `Option` fieldsTeddy Wing
Now that the `description`, `local_date`, and `local_time` fields are `Option` types, we need to update the tests to reflect this or they fail terribly. I made the change in aa0190279db75f75210f5279afaa62178b242837 but forgot to update the tests.
2018-04-15generate(): Add a real title and description to the feed channelTeddy Wing
The description isn't very descriptive, but I'm a little tired right now.
2018-04-15Add 'error-chain' to the main libraryTeddy Wing
Use 'error-chain' here too. Seems like this will be a pretty useful library. Change the include in the 'meetup' `lib.rs` to allow us to export `meetup::Error` instead of `meetup::errors::Error` to be consistent with the error types of the other third-party libraries we're using.
2018-04-13meetup_rss(write): Use the result from `Channel#write_to`Teddy Wing
I didn't pay attention when I wrote this, but that method actually returns a `Result`, so we need to use it.
2018-04-13meetup_rss(write): Remove `mut` from the `stdout` handleTeddy Wing
I had copied this from an example in the docs, but the compiler tells me the `mut` isn't needed. Cool.
2018-04-13meetup_rss: Add a `write` function to write a channel to STDOUTTeddy Wing
2018-04-13meetup(generate): Improve test and take a reference argumentTeddy Wing
* Take a `Vec` reference instead of an object. This is the result of messing around with calling the function in the test. * Update the test to actually make assertions on the result of the function.
2018-04-13Add a function to build an RSS `Channel` object from a list of `Event`sTeddy Wing
This uses the RSS crate to build a new channel with items corresponding to the given `Event`s. It needs to be fleshed out a little, but this is the basic idea.