Skip to main content

finance_query/domains/
commodities.rs

1//! Commodity price quote handle.
2//!
3//! Created via [`Providers::commodity`](crate::Providers::commodity).
4
5use crate::error::Result;
6
7domain_handle! {
8    /// A commodity backed by configured data providers.
9    ///
10    /// Created via [`Providers::commodity`](crate::Providers::commodity).
11    pub struct Commodity { symbol, symbol }
12}
13
14impl Commodity {
15    /// Fetch the current quote for this commodity.
16    pub async fn quote(&self) -> Result<crate::models::commodities::CommodityQuote> {
17        fetch_via!(
18            self,
19            symbol,
20            COMMODITIES,
21            fetch_commodities_quote,
22            crate::models::commodities::CommodityQuote
23        )
24    }
25}