diff options
Diffstat (limited to 'crates/shirabe/src/downloader/phar_downloader.rs')
| -rw-r--r-- | crates/shirabe/src/downloader/phar_downloader.rs | 34 |
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 } } |
