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 cache: crate::models::commodities::CommodityQuote
13}
14
15impl Commodity {
16 /// Fetch the current quote for this commodity.
17 pub async fn quote(&self) -> Result<crate::models::commodities::CommodityQuote> {
18 fetch_via!(
19 self,
20 symbol,
21 COMMODITIES,
22 fetch_commodities_quote,
23 crate::models::commodities::CommodityQuote
24 )
25 }
26}