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}