Skip to content

Commit

Permalink
Replace 'Unlicensed' default with None value
Browse files Browse the repository at this point in the history
Signed-off-by: Ryan Bottriell <ryan@bottriell.ca>
  • Loading branch information
rydrman committed Jul 13, 2024
1 parent 1cad0b6 commit bac13dc
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 25 deletions.
23 changes: 3 additions & 20 deletions crates/spk-schema/src/metadata/meta.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,39 +14,22 @@ use crate::{Error, Result};
#[path = "./meta_test.rs"]
mod meta_test;

#[derive(Clone, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
#[derive(Default, Clone, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct Meta {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub homepage: Option<String>,
#[serde(
default = "Meta::default_license",
skip_serializing_if = "String::is_empty"
)]
pub license: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub license: Option<String>,
#[serde(default, skip_serializing_if = "BTreeMap::is_empty")]
pub labels: BTreeMap<String, String>,
}

impl Default for Meta {
fn default() -> Self {
Meta {
description: None,
homepage: None,
license: Self::default_license(),
labels: Default::default(),
}
}
}

impl Meta {
pub fn is_default(&self) -> bool {
self == &Self::default()
}
fn default_license() -> String {
"Unlicensed".into()
}

pub fn has_label_with_value(&self, label: &str, value: &str) -> bool {
if let Some(label_value) = self.labels.get(label) {
Expand Down
7 changes: 2 additions & 5 deletions crates/spk-schema/src/metadata/meta_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,7 @@ fn test_package_meta_missing() {
}"#,
);
assert!(spec.is_ok());
assert_eq!(
spec.unwrap().meta.license,
crate::metadata::Meta::default_license()
);
assert_eq!(spec.unwrap().meta.license, None);
}

#[rstest]
Expand All @@ -32,7 +29,7 @@ fn test_package_meta_basic() {
"#,
)
.unwrap();
assert_eq!(meta.license, crate::metadata::Meta::default_license());
assert_eq!(meta.license, None);
assert!(meta.description.is_some());
assert!(meta.homepage.is_none());
assert!(meta.labels.contains_key("department"));
Expand Down

0 comments on commit bac13dc

Please sign in to comment.