Document "everything"

This is a good start but many things need to be documented better, but
this will at least allow us to turn on #[deny(missing_docs)]
This commit is contained in:
Paul Woolcock
2018-08-30 16:22:46 -04:00
parent 9e78d5ed46
commit 57cc44368c
11 changed files with 153 additions and 6 deletions
+1
View File
@@ -1 +1,2 @@
/// Data structures for the MastodonClient::statuses method
pub mod statuses;
+80
View File
@@ -1,5 +1,7 @@
use std::borrow::Cow;
/// Builder for making a client.statuses() call
///
/// # Example
///
/// ```
@@ -19,40 +21,118 @@ pub struct StatusesRequest<'a> {
}
impl<'a> StatusesRequest<'a> {
/// Construct a new `StatusesRequest` object
///
/// # Example
///
/// ```
/// # extern crate elefren;
/// # use elefren::StatusesRequest;
/// let request = StatusesRequest::new();
/// ```
pub fn new() -> Self {
Self::default()
}
/// Set the `?only_media=1` flag for the .statuses() request
///
/// # Example
///
/// ```
/// # extern crate elefren;
/// # use elefren::StatusesRequest;
/// let request = StatusesRequest::new().only_media();
/// assert_eq!(&request.to_querystring(), "?only_media=1");
pub fn only_media(mut self) -> Self {
self.only_media = true;
self
}
/// Set the `?exclude_replies=1` flag for the .statuses() request
///
/// # Example
///
/// ```
/// # extern crate elefren;
/// # use elefren::StatusesRequest;
/// let request = StatusesRequest::new().exclude_replies();
/// assert_eq!(&request.to_querystring(), "?exclude_replies=1");
/// ```
pub fn exclude_replies(mut self) -> Self {
self.exclude_replies = true;
self
}
/// Set the `?pinned=1` flag for the .statuses() request
///
/// # Example
///
/// ```
/// # extern crate elefren;
/// # use elefren::StatusesRequest;
/// let request = StatusesRequest::new().pinned();
/// assert_eq!(&request.to_querystring(), "?pinned=1");
/// ```
pub fn pinned(mut self) -> Self {
self.pinned = true;
self
}
/// Set the `?max_id=:max_id` flag for the .statuses() request
///
/// # Example
///
/// ```
/// # extern crate elefren;
/// # use elefren::StatusesRequest;
/// let request = StatusesRequest::new().max_id("foo");
/// assert_eq!(&request.to_querystring(), "?max_id=foo");
/// ```
pub fn max_id<S: Into<Cow<'a, str>>>(mut self, max_id: S) -> Self {
self.max_id = Some(max_id.into());
self
}
/// Set the `?since_id=:since_id` flag for the .statuses() request
///
/// # Example
///
/// ```
/// # extern crate elefren;
/// # use elefren::StatusesRequest;
/// let request = StatusesRequest::new().since_id("foo");
/// assert_eq!(&request.to_querystring(), "?since_id=foo");
/// ```
pub fn since_id<S: Into<Cow<'a, str>>>(mut self, since_id: S) -> Self {
self.since_id = Some(since_id.into());
self
}
/// Set the `?limit=:limit` flag for the .statuses() request
///
/// # Example
///
/// ```
/// # extern crate elefren;
/// # use elefren::StatusesRequest;
/// let request = StatusesRequest::new().limit(10);
/// assert_eq!(&request.to_querystring(), "?limit=10");
/// ```
pub fn limit(mut self, limit: usize) -> Self {
self.limit = Some(limit);
self
}
/// Turns this builder into a querystring
///
/// # Example
///
/// ```
/// # extern crate elefren;
/// # use elefren::StatusesRequest;
/// let request = StatusesRequest::new().limit(10).pinned();
/// assert_eq!(&request.to_querystring(), "?pinned=1&limit=10");
/// ```
pub fn to_querystring(&self) -> String {
let mut opts = vec![];