aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/downloader/phar_downloader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/downloader/phar_downloader.rs')
-rw-r--r--crates/shirabe/src/downloader/phar_downloader.rs34
1 files changed, 24 insertions, 10 deletions
diff --git a/crates/shirabe/src/downloader/phar_downloader.rs b/crates/shirabe/src/downloader/phar_downloader.rs
index 8180764..4b3fc51 100644
--- a/crates/shirabe/src/downloader/phar_downloader.rs
+++ b/crates/shirabe/src/downloader/phar_downloader.rs
@@ -45,10 +45,28 @@ impl PharDownloader {
cleanup_executed: IndexMap::new(),
}
}
+}
- pub(crate) async fn extract(
- &self,
- package: PackageInterfaceHandle,
+impl ArchiveDownloader for PharDownloader {
+ fn inner(&self) -> &FileDownloader {
+ &self.inner
+ }
+
+ fn inner_mut(&mut self) -> &mut FileDownloader {
+ &mut self.inner
+ }
+
+ fn cleanup_executed(&self) -> &IndexMap<String, bool> {
+ &self.cleanup_executed
+ }
+
+ fn cleanup_executed_mut(&mut self) -> &mut IndexMap<String, bool> {
+ &mut self.cleanup_executed
+ }
+
+ async fn extract(
+ &mut self,
+ _package: PackageInterfaceHandle,
file: &str,
path: &str,
) -> Result<Option<PhpMixed>> {
@@ -105,9 +123,7 @@ impl DownloaderInterface for PharDownloader {
path: &str,
prev_package: Option<PackageInterfaceHandle>,
) -> Result<Option<PhpMixed>> {
- self.inner
- .prepare(r#type, package, path, prev_package)
- .await
+ <Self as ArchiveDownloader>::prepare(self, r#type, package, path, prev_package).await
}
async fn install(
@@ -116,7 +132,7 @@ impl DownloaderInterface for PharDownloader {
path: &str,
output: bool,
) -> Result<Option<PhpMixed>> {
- self.inner.install(package, path, output).await
+ <Self as ArchiveDownloader>::install(self, package, path, output).await
}
async fn update(
@@ -144,8 +160,6 @@ impl DownloaderInterface for PharDownloader {
path: &str,
prev_package: Option<PackageInterfaceHandle>,
) -> Result<Option<PhpMixed>> {
- self.inner
- .cleanup(r#type, package, path, prev_package)
- .await
+ <Self as ArchiveDownloader>::cleanup(self, r#type, package, path, prev_package).await
}
}