From 0c7839b92bff0bb7c6042f66e309bfe08f41caa4 Mon Sep 17 00:00:00 2001 From: Candifloss Date: Fri, 10 Oct 2025 01:35:05 +0530 Subject: [PATCH] Add module `src/free_api_v25/query/units.rs` --- src/free_api_v25/query/mod.rs | 1 + src/free_api_v25/query/units.rs | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/free_api_v25/query/units.rs diff --git a/src/free_api_v25/query/mod.rs b/src/free_api_v25/query/mod.rs index 2236ba9..c8a0f80 100644 --- a/src/free_api_v25/query/mod.rs +++ b/src/free_api_v25/query/mod.rs @@ -18,4 +18,5 @@ //! assert!(url.contains("q=London")); //! ``` +pub mod units; pub mod urls; diff --git a/src/free_api_v25/query/units.rs b/src/free_api_v25/query/units.rs new file mode 100644 index 0000000..b89533e --- /dev/null +++ b/src/free_api_v25/query/units.rs @@ -0,0 +1,31 @@ +use std::fmt; + +/// Units of measurement for temperature and wind speed. +/// +/// - **Standard**: Kelvin (temperature), m/s (wind) +/// - **Metric**: Celsius, m/s +/// - **Imperial**: Fahrenheit, miles/hour +/// +/// See: +/// +/// # Example +/// ``` +/// use owm_api25::query::Units; +/// assert_eq!(Units::Metric.to_string(), "metric"); +/// ``` +#[derive(Debug, Clone, Copy)] +pub enum Units { + Standard, + Metric, + Imperial, +} + +impl fmt::Display for Units { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Units::Standard => write!(f, "standard"), + Units::Metric => write!(f, "metric"), + Units::Imperial => write!(f, "imperial"), + } + } +}