Age | Commit message (Collapse) | Author |
|
|
|
This was a reference for the params I wanted to support in the
`find_upcoming_events()` method. It's no longer needed.
|
|
Instead of doing `use meetup::client::Client`, do `use meetup::Client`.
Makes it less redundant.
|
|
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.
|
|
This allows us to deserialise the venue location for events and include
it in the RSS items.
|
|
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.
|
|
After making a request to the API and getting a real JSON response
again, it turns out that the above mentioned fields are actually
optional, and will break Serde's parsing when they're not in the JSON
string coming from Meetup. Make these fields `Option`s so the program
doesn't break when they're not there.
|
|
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.
|
|
Use this instead of `Box`es. Hoping this, along with using the library
in my main crate also, will help me get some more context on my runtime
error.
Hey, it did! Turns out the error is coming from 'serde_json'. Cool.
|
|
* Clone the token so we can use it without a borrow error
* Get the response text from our request to the API and try to parse it
This gives me the following panic:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err`
value: ErrorImpl { code: Message("invalid type: null, expected a
sequence"), line: 0, column: 0 }', libcore/result.rs:945:5
Still trying to figure out where my problem is.
|
|
|
|
We'll call `find_upcoming_events` on `Client` to give us access to the
token it holds.
|
|
This will hold our API token and provide methods to make API requests.
|
|
Set up the code to make a request to the Meetup API. Still needs an API
key, and we need to call the function correctly in `write_feed`.
|
|
Eventually, I want this function to make a request to the Meetup API and
return a `Vec` of `Event`s.
For now, though, so we can test things out, use our test JSON file
instead of a real web request.
|
|
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.
|
|
* Add an additional `Event` to the list of expected events to give us
more than one to test with.
* Remove all but the first two events from the JSON test data so we
don't have to reproduce all of those events in our test code.
|
|
* Derive `Deserialize` on our `Event` type
* Use Serde to parse a `Vec` of `Event`s that we can return from the
function
* Return a `Result` from the function to handle Serde errors
|
|
Add a couple function skeletons. Write the beginning of a test for the
function that parses a JSON string to a list of `Event`s.
In order to do the test, needed to derive `Debug` and `PartialEq` on
`Event`.
|
|
Include some fields that seem interesting. Also leave a note that we'll
want to create a new struct for `Venue` because this is a sub hash in
the JSON response.
|
|
|