Add #![deny(missing_docs)], document all items

pull/37/head
Mingwei Samuel 2022-02-08 17:17:47 -08:00
parent 7865a439e1
commit 1d70c479cf
14 changed files with 43 additions and 11 deletions

View File

@ -871,6 +871,11 @@ impl Champion {
} }
} }
/// The error used for failures in [`Champion`]'s
/// [`FromStr`](std::str::FromStr) implementation.
///
/// Currently only internally stores the four characters used to parse the
/// champion, but may change in the future.
#[derive(Debug)] #[derive(Debug)]
pub struct ParseChampionError([char; 4]); pub struct ParseChampionError([char; 4]);
impl std::fmt::Display for ParseChampionError { impl std::fmt::Display for ParseChampionError {

View File

@ -17,10 +17,16 @@ use strum_macros::{ EnumString, Display, AsRefStr, IntoStaticStr };
#[derive(IntoPrimitive, TryFromPrimitive)] #[derive(IntoPrimitive, TryFromPrimitive)]
#[repr(u8)] #[repr(u8)]
pub enum Division { pub enum Division {
/// Division 1, the best/highest division in a [`Tier`](crate::consts::Tier), or the only division in
/// [apex tiers](crate::consts::Tier::is_apex).
I = 1, I = 1,
/// Division 2, the second highest division.
II = 2, II = 2,
/// Division 3, the third highest division.
III = 3, III = 3,
/// Division 4, the fourth and lowest division since 2019.
IV = 4, IV = 4,
/// Division 5, the lowest division, only used before 2019.
#[deprecated(note="Removed for 2019.")] #[deprecated(note="Removed for 2019.")]
V = 5, V = 5,
} }

View File

@ -16,7 +16,7 @@ use strum_macros::{ EnumString, IntoStaticStr };
#[derive(EnumString, IntoStaticStr)] #[derive(EnumString, IntoStaticStr)]
#[repr(u8)] #[repr(u8)]
pub enum GameMode { pub enum GameMode {
// Catch-all variant for new, unknown game modes. /// Catch-all variant for new, unknown game modes.
#[strum(default)] #[strum(default)]
UNKNOWN(String), UNKNOWN(String),

View File

@ -6,17 +6,17 @@ use strum_macros::{ EnumString, Display, AsRefStr, IntoStaticStr };
#[derive(Eq, PartialEq, Hash)] #[derive(Eq, PartialEq, Hash)]
#[derive(EnumString, Display, AsRefStr, IntoStaticStr)] #[derive(EnumString, Display, AsRefStr, IntoStaticStr)]
pub enum QueueType { pub enum QueueType {
// League of Legends, Summoner's Rift (5v5), Ranked Solo Queue. /// League of Legends, Summoner's Rift (5v5), Ranked Solo Queue.
RANKED_SOLO_5x5, RANKED_SOLO_5x5,
// League of Legends, Summoner's Rift (5v5), Flex Queue. /// League of Legends, Summoner's Rift (5v5), Flex Queue.
RANKED_FLEX_SR, RANKED_FLEX_SR,
// League of Legends, Twisted Treeline (3v3), Flex Queue. /// League of Legends, Twisted Treeline (3v3), Flex Queue.
RANKED_FLEX_TT, RANKED_FLEX_TT,
// Ranked Teamfight Tactics. /// Ranked Teamfight Tactics.
RANKED_TFT, RANKED_TFT,
// Ranked Teamfight Tactics, Hyper Roll gamemode. /// Ranked Teamfight Tactics, Hyper Roll gamemode.
RANKED_TFT_TURBO, RANKED_TFT_TURBO,
// Ranked Teamfight Tactics, Double Up gamemode. /// Ranked Teamfight Tactics, Double Up gamemode.
RANKED_TFT_PAIRS RANKED_TFT_PAIRS
} }

View File

@ -82,6 +82,8 @@ pub enum PlatformRoute {
} }
impl PlatformRoute { impl PlatformRoute {
/// Converts this [`PlatformRoute`] into its corresponding
/// [`RegionalRoute`]. Useful, for example, in [`match-v5` endpoints](crate::endpoints::MatchV5).
pub fn to_regional(self) -> RegionalRoute { pub fn to_regional(self) -> RegionalRoute {
match self { match self {
Self::BR1 => RegionalRoute::AMERICAS, Self::BR1 => RegionalRoute::AMERICAS,
@ -160,8 +162,11 @@ pub enum ValPlatformRoute {
#[repr(u8)] #[repr(u8)]
#[non_exhaustive] #[non_exhaustive]
pub enum Route { pub enum Route {
/// Sub-variant for [`RegionalRoute`]s.
Regional(RegionalRoute), Regional(RegionalRoute),
/// Sub-variant for [`PlatformRoute`]s.
Platform(PlatformRoute), Platform(PlatformRoute),
/// Sub-variant for [`ValPlatformRoute`]s.
ValPlatform(ValPlatformRoute), ValPlatform(ValPlatformRoute),
} }
@ -232,6 +237,8 @@ impl std::str::FromStr for Route {
} }
impl Route { impl Route {
/// Returns an iterator over all routes. Starts with [`Self::Regional`],
/// then [`Self::Platform`], and finally [`Self::ValPlatform`].
pub fn iter() -> impl Iterator<Item = Self> { pub fn iter() -> impl Iterator<Item = Self> {
use strum::IntoEnumIterator; use strum::IntoEnumIterator;

View File

@ -41,8 +41,8 @@ pub enum Tier {
serde_string!(Tier); serde_string!(Tier);
impl Tier { impl Tier {
/// If this tier is an apex tier: master, grandmaster, or challenger. /// If this tier is an apex tier: [`Self::MASTER`], [`Self::GRANDMASTER`],
/// Returns false for unranked. /// or [`Self::CHALLENGER`]. Returns false for [`Self::UNRANKED`].
/// ///
/// These tiers are NOT queryable by LeagueV4Endpoints::get_league_entries(...). /// These tiers are NOT queryable by LeagueV4Endpoints::get_league_entries(...).
pub const fn is_apex(self) -> bool { pub const fn is_apex(self) -> bool {
@ -53,7 +53,7 @@ impl Tier {
/// If this tier is a "standard" tier: iron through diamond. /// If this tier is a "standard" tier: iron through diamond.
/// Returns false for unranked. /// Returns false for unranked.
/// ///
/// ONLY these tiers are queryable by LeagueV4Endpoints::get_league_entries(...). /// ONLY these tiers are queryable by [`LeagueV4::get_league_entries(...)`](crate::endpoints::LeagueV4::get_league_entries).
pub fn is_standard(self) -> bool { pub fn is_standard(self) -> bool {
// Casts needed for const. // Casts needed for const.
((Self::UNRANKED as u8) < (self as u8)) && ((self as u8) < (Self::MASTER as u8)) ((Self::UNRANKED as u8) < (self as u8)) && ((self as u8) < (Self::MASTER as u8))

View File

@ -7,6 +7,7 @@
/////////////////////////////////////////////// ///////////////////////////////////////////////
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![deny(missing_docs)]
//! <h1 align="center"> //! <h1 align="center">
//! Riven<br> //! Riven<br>

View File

@ -13,6 +13,8 @@
//! //!
//! Note: this modules is automatically generated. //! Note: this modules is automatically generated.
/// Metadata for endpoints. Each tuple corresponds to one endpoint and contains
/// the HTTP [`Method`](reqwest::Method), `str` path, and the method's `str` ID.
pub static ALL_ENDPOINTS: [(reqwest::Method, &str, &str); 70] = [ pub static ALL_ENDPOINTS: [(reqwest::Method, &str, &str); 70] = [
(reqwest::Method::GET, "/riot/account/v1/accounts/by-puuid/{puuid}", "account-v1.getByPuuid"), (reqwest::Method::GET, "/riot/account/v1/accounts/by-puuid/{puuid}", "account-v1.getByPuuid"),
(reqwest::Method::GET, "/riot/account/v1/accounts/by-riot-id/{gameName}/{tagLine}", "account-v1.getByRiotId"), (reqwest::Method::GET, "/riot/account/v1/accounts/by-riot-id/{gameName}/{tagLine}", "account-v1.getByRiotId"),

View File

@ -9,6 +9,8 @@
// http://www.mingweisamuel.com/riotapi-schema/tool/ // http://www.mingweisamuel.com/riotapi-schema/tool/
// Version be7cba85eef6d2262d61d1befff94fe2d6628d8e // Version be7cba85eef6d2262d61d1befff94fe2d6628d8e
#![allow(missing_docs)]
//! Data transfer structs. //! Data transfer structs.
//! //!
//! Separated into separate modules for each endpoint. //! Separated into separate modules for each endpoint.

View File

@ -107,6 +107,10 @@ impl Champion {
} }
} }
/// The error used for failures in [`Champion::from_str`].
///
/// Currently only internally stores the four characters used to parse the
/// champion, but may change in the future.
#[derive(Debug)] #[derive(Debug)]
pub struct ParseChampionError([char; 4]); pub struct ParseChampionError([char; 4]);
impl std::fmt::Display for ParseChampionError { impl std::fmt::Display for ParseChampionError {

View File

@ -13,7 +13,7 @@ use strum_macros::{ EnumString, IntoStaticStr };
#[derive(EnumString, IntoStaticStr)] #[derive(EnumString, IntoStaticStr)]
#[repr(u8)] #[repr(u8)]
pub enum GameMode { pub enum GameMode {
// Catch-all variant for new, unknown game modes. /// Catch-all variant for new, unknown game modes.
#[strum(default)] #[strum(default)]
UNKNOWN(String), UNKNOWN(String),

View File

@ -4,6 +4,7 @@
}}{{= dotUtils.preamble() }} }}{{= dotUtils.preamble() }}
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![deny(missing_docs)]
{{~ readme :line }} {{~ readme :line }}
//! {{= line }} //! {{= line }}

View File

@ -18,6 +18,8 @@
//! //!
//! Note: this modules is automatically generated. //! Note: this modules is automatically generated.
/// Metadata for endpoints. Each tuple corresponds to one endpoint and contains
/// the HTTP [`Method`](reqwest::Method), `str` path, and the method's `str` ID.
pub static ALL_ENDPOINTS: [(reqwest::Method, &str, &str); {{= operations.length }}] = [ pub static ALL_ENDPOINTS: [(reqwest::Method, &str, &str); {{= operations.length }}] = [
{{ {{
for (const { route, method, operation } of operations) { for (const { route, method, operation } of operations) {

View File

@ -6,6 +6,8 @@
// http://www.mingweisamuel.com/riotapi-schema/tool/ // http://www.mingweisamuel.com/riotapi-schema/tool/
// Version {{= spec.info.version }} // Version {{= spec.info.version }}
#![allow(missing_docs)]
//! Data transfer structs. //! Data transfer structs.
//! //!
//! Separated into separate modules for each endpoint. //! Separated into separate modules for each endpoint.