style: format code with rustfmt
This commit is contained in:
committed by
Jeremiah Russell
parent
8f908df8f3
commit
2b420e53cb
33
src/rules.rs
33
src/rules.rs
@@ -196,15 +196,15 @@ impl Rules {
|
||||
label: Option<&str>,
|
||||
delete: bool,
|
||||
) -> &mut Self {
|
||||
let current_labels: Vec<String> = self.rules.values()
|
||||
.flat_map(|rule| rule.labels())
|
||||
.collect();
|
||||
let current_labels: Vec<String> =
|
||||
self.rules.values().flat_map(|rule| rule.labels()).collect();
|
||||
|
||||
if let Some(label_ref) = label
|
||||
&& current_labels.iter().any(|l| l == label_ref) {
|
||||
log::warn!("a rule already applies to label {label_ref}");
|
||||
return self;
|
||||
}
|
||||
&& current_labels.iter().any(|l| l == label_ref)
|
||||
{
|
||||
log::warn!("a rule already applies to label {label_ref}");
|
||||
return self;
|
||||
}
|
||||
|
||||
let id = if let Some((_, max)) = self.rules.iter().max_by_key(|(_, r)| r.id()) {
|
||||
max.id() + 1
|
||||
@@ -244,9 +244,7 @@ impl Rules {
|
||||
/// println!("Configured labels: {:?}", labels);
|
||||
/// ```
|
||||
pub fn labels(&self) -> Vec<String> {
|
||||
self.rules.values()
|
||||
.flat_map(|rule| rule.labels())
|
||||
.collect()
|
||||
self.rules.values().flat_map(|rule| rule.labels()).collect()
|
||||
}
|
||||
|
||||
/// Find the id of the rule that contains a label
|
||||
@@ -494,9 +492,8 @@ impl Rules {
|
||||
/// * IO errors when writing to the file system
|
||||
/// * File system permission errors
|
||||
pub fn save(&self) -> Result<()> {
|
||||
let home_dir = env::home_dir().ok_or_else(|| {
|
||||
Error::HomeExpansionFailed("~/.cull-gmail/rules.toml".to_string())
|
||||
})?;
|
||||
let home_dir = env::home_dir()
|
||||
.ok_or_else(|| Error::HomeExpansionFailed("~/.cull-gmail/rules.toml".to_string()))?;
|
||||
let path = PathBuf::new().join(home_dir).join(".cull-gmail/rules.toml");
|
||||
|
||||
// Ensure directory exists
|
||||
@@ -540,9 +537,8 @@ impl Rules {
|
||||
/// * TOML parsing errors if the file is malformed
|
||||
/// * File not found errors if the configuration doesn't exist
|
||||
pub fn load() -> Result<Rules> {
|
||||
let home_dir = env::home_dir().ok_or_else(|| {
|
||||
Error::HomeExpansionFailed("~/.cull-gmail/rules.toml".to_string())
|
||||
})?;
|
||||
let home_dir = env::home_dir()
|
||||
.ok_or_else(|| Error::HomeExpansionFailed("~/.cull-gmail/rules.toml".to_string()))?;
|
||||
let path = PathBuf::new().join(home_dir).join(".cull-gmail/rules.toml");
|
||||
log::trace!("Loading config from {}", path.display());
|
||||
|
||||
@@ -609,7 +605,10 @@ mod tests {
|
||||
|
||||
// Should have some default rules
|
||||
let labels = rules.labels();
|
||||
assert!(!labels.is_empty(), "Default rules should create some labels");
|
||||
assert!(
|
||||
!labels.is_empty(),
|
||||
"Default rules should create some labels"
|
||||
);
|
||||
|
||||
// Should contain the expected retention labels
|
||||
assert!(labels.iter().any(|l| l.contains("retention/1-years")));
|
||||
|
||||
@@ -477,8 +477,13 @@ mod test {
|
||||
fn test_eol_query_for_eol_rule_5_years() {
|
||||
let rule = build_test_rule(crate::MessageAge::Years(5));
|
||||
|
||||
let test_today = Local.with_ymd_and_hms(2025, 9, 15, 0, 0, 0).single().unwrap();
|
||||
let query = rule.calculate_for_date(test_today).expect("Failed to calculate query");
|
||||
let test_today = Local
|
||||
.with_ymd_and_hms(2025, 9, 15, 0, 0, 0)
|
||||
.single()
|
||||
.unwrap();
|
||||
let query = rule
|
||||
.calculate_for_date(test_today)
|
||||
.expect("Failed to calculate query");
|
||||
|
||||
assert_eq!("before: 2020-09-15", query);
|
||||
}
|
||||
@@ -487,8 +492,13 @@ mod test {
|
||||
fn test_eol_query_for_eol_rule_1_month() {
|
||||
let rule = build_test_rule(crate::MessageAge::Months(1));
|
||||
|
||||
let test_today = Local.with_ymd_and_hms(2025, 9, 15, 0, 0, 0).single().unwrap();
|
||||
let query = rule.calculate_for_date(test_today).expect("Failed to calculate query");
|
||||
let test_today = Local
|
||||
.with_ymd_and_hms(2025, 9, 15, 0, 0, 0)
|
||||
.single()
|
||||
.unwrap();
|
||||
let query = rule
|
||||
.calculate_for_date(test_today)
|
||||
.expect("Failed to calculate query");
|
||||
|
||||
assert_eq!("before: 2025-08-15", query);
|
||||
}
|
||||
@@ -497,8 +507,13 @@ mod test {
|
||||
fn test_eol_query_for_eol_rule_13_weeks() {
|
||||
let rule = build_test_rule(crate::MessageAge::Weeks(13));
|
||||
|
||||
let test_today = Local.with_ymd_and_hms(2025, 9, 15, 0, 0, 0).single().unwrap();
|
||||
let query = rule.calculate_for_date(test_today).expect("Failed to calculate query");
|
||||
let test_today = Local
|
||||
.with_ymd_and_hms(2025, 9, 15, 0, 0, 0)
|
||||
.single()
|
||||
.unwrap();
|
||||
let query = rule
|
||||
.calculate_for_date(test_today)
|
||||
.expect("Failed to calculate query");
|
||||
|
||||
assert_eq!("before: 2025-06-16", query);
|
||||
}
|
||||
@@ -507,8 +522,13 @@ mod test {
|
||||
fn test_eol_query_for_eol_rule_365_days() {
|
||||
let rule = build_test_rule(crate::MessageAge::Days(365));
|
||||
|
||||
let test_today = Local.with_ymd_and_hms(2025, 9, 15, 0, 0, 0).single().unwrap();
|
||||
let query = rule.calculate_for_date(test_today).expect("Failed to calculate query");
|
||||
let test_today = Local
|
||||
.with_ymd_and_hms(2025, 9, 15, 0, 0, 0)
|
||||
.single()
|
||||
.unwrap();
|
||||
let query = rule
|
||||
.calculate_for_date(test_today)
|
||||
.expect("Failed to calculate query");
|
||||
|
||||
assert_eq!("before: 2024-09-15", query);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user