From 3f2e03893a5159057764087ad15881113c98b519 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Tue, 7 Jun 2022 16:35:47 +1000 Subject: [PATCH] Add `Fetcher::target` to trait `Fetcher` Signed-off-by: Jiahao XU --- src/fetchers.rs | 3 +++ src/fetchers/gh_crate_meta.rs | 4 ++++ src/fetchers/quickinstall.rs | 8 +++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/fetchers.rs b/src/fetchers.rs index b7b25795..9b6df316 100644 --- a/src/fetchers.rs +++ b/src/fetchers.rs @@ -30,6 +30,9 @@ pub trait Fetcher { /// Should return true if the remote is from a third-party source fn is_third_party(&self) -> bool; + + /// Return the target for this fetcher + fn target(&self) -> &str; } /// Data required to fetch a package diff --git a/src/fetchers/gh_crate_meta.rs b/src/fetchers/gh_crate_meta.rs index f048bb87..1c096189 100644 --- a/src/fetchers/gh_crate_meta.rs +++ b/src/fetchers/gh_crate_meta.rs @@ -66,6 +66,10 @@ impl super::Fetcher for GhCrateMeta { fn is_third_party(&self) -> bool { false } + + fn target(&self) -> &str { + &self.data.target + } } /// Template for constructing download paths diff --git a/src/fetchers/quickinstall.rs b/src/fetchers/quickinstall.rs index 61871e5c..1d500647 100644 --- a/src/fetchers/quickinstall.rs +++ b/src/fetchers/quickinstall.rs @@ -13,6 +13,7 @@ const USER_AGENT: &str = concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VE pub struct QuickInstall { package: String, + target: String, } #[async_trait::async_trait] @@ -20,9 +21,10 @@ impl super::Fetcher for QuickInstall { async fn new(data: &Data) -> Box { let crate_name = &data.name; let version = &data.version; - let target = &data.target; + let target = data.target.clone(); Box::new(Self { package: format!("{crate_name}-{version}-{target}"), + target, }) } @@ -50,6 +52,10 @@ impl super::Fetcher for QuickInstall { fn is_third_party(&self) -> bool { true } + + fn target(&self) -> &str { + &self.target + } } impl QuickInstall {