aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/complete_alias_package.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/package/complete_alias_package.rs')
-rw-r--r--crates/shirabe/src/package/complete_alias_package.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/crates/shirabe/src/package/complete_alias_package.rs b/crates/shirabe/src/package/complete_alias_package.rs
index 134ed3a..d187eea 100644
--- a/crates/shirabe/src/package/complete_alias_package.rs
+++ b/crates/shirabe/src/package/complete_alias_package.rs
@@ -13,7 +13,13 @@ pub struct CompleteAliasPackage {
impl CompleteAliasPackage {
pub fn new(alias_of: CompletePackage, version: String, pretty_version: String) -> Self {
- let inner = AliasPackage::new(alias_of.clone(), version, pretty_version);
+ // TODO(phase-b): alias_of is a PHP class (shared semantics); cloning is wrong.
+ // Use a dummy BasePackage placeholder until the field is migrated to Rc<CompletePackage>.
+ let inner = AliasPackage::new(
+ todo!("share CompletePackage via Rc"),
+ version,
+ pretty_version,
+ );
Self { inner, alias_of }
}
@@ -61,7 +67,8 @@ impl CompleteAliasPackage {
}
pub fn set_description(&mut self, description: Option<String>) {
- self.alias_of.set_description(description);
+ self.alias_of
+ .set_description(description.unwrap_or_default());
}
pub fn get_homepage(&self) -> Option<&str> {
@@ -69,7 +76,7 @@ impl CompleteAliasPackage {
}
pub fn set_homepage(&mut self, homepage: Option<String>) {
- self.alias_of.set_homepage(homepage);
+ self.alias_of.set_homepage(homepage.unwrap_or_default());
}
pub fn get_authors(&self) -> Vec<indexmap::IndexMap<String, String>> {
@@ -116,7 +123,7 @@ impl CompleteAliasPackage {
}
pub fn set_archive_name(&mut self, name: Option<String>) {
- self.alias_of.set_archive_name(name);
+ self.alias_of.set_archive_name(name.unwrap_or_default());
}
pub fn get_archive_excludes(&self) -> Vec<String> {