m/cup
1
0
mirror of https://github.com/sergi0g/cup.git synced 2025-11-16 09:03:46 -05:00

Remove some clone usage

This commit is contained in:
Sergio
2024-12-04 19:44:04 +02:00
parent d85fadfb39
commit 36a3a13c04
2 changed files with 13 additions and 12 deletions

View File

@@ -1,26 +1,26 @@
use bollard::secret::{ImageInspect, ImageSummary};
pub trait InspectData {
fn tags(&self) -> Option<Vec<String>>;
fn digests(&self) -> Option<Vec<String>>;
fn tags(&self) -> Option<&Vec<String>>;
fn digests(&self) -> Option<&Vec<String>>;
}
impl InspectData for ImageInspect {
fn tags(&self) -> Option<Vec<String>> {
self.repo_tags.clone()
fn tags(&self) -> Option<&Vec<String>> {
self.repo_tags.as_ref()
}
fn digests(&self) -> Option<Vec<String>> {
self.repo_digests.clone()
fn digests(&self) -> Option<&Vec<String>> {
self.repo_digests.as_ref()
}
}
impl InspectData for ImageSummary {
fn tags(&self) -> Option<Vec<String>> {
Some(self.repo_tags.clone())
fn tags(&self) -> Option<&Vec<String>> {
Some(&self.repo_tags)
}
fn digests(&self) -> Option<Vec<String>> {
Some(self.repo_digests.clone())
fn digests(&self) -> Option<&Vec<String>> {
Some(&self.repo_digests)
}
}

View File

@@ -14,12 +14,13 @@ pub fn split(reference: &str) -> (String, String, String) {
Some(registry) => registry.as_str().to_owned(),
None => String::from(DEFAULT_REGISTRY),
};
let is_default_registry = registry == DEFAULT_REGISTRY;
return (
registry.clone(),
registry,
match c.name("repository") {
Some(repository) => {
let repo = repository.as_str().to_owned();
if !repo.contains('/') && registry == DEFAULT_REGISTRY {
if !repo.contains('/') && is_default_registry {
format!("library/{}", repo)
} else {
repo