fn log_piranha_output_summaries()

in src/lib.rs [75:110]


fn log_piranha_output_summaries(summaries: &Vec<PiranhaOutputSummary>) {
  let mut total_number_of_matches: usize = 0;
  let mut total_number_of_rewrites: usize = 0;
  for summary in summaries {
    let number_of_rewrites = &summary.rewrites().len();
    let number_of_matches = &summary.matches().len();
    info!(
      "File: {:?} with {} matches and {} rewrites",
      &summary.path(),
      number_of_matches,
      number_of_rewrites
    );
    if *number_of_rewrites > 0 {
      let used_rules: Vec<&String> = summary
        .rewrites()
        .iter()
        .map(|r| r.matched_rule())
        .collect();
      let deduplicated_rules: Vec<&String> = used_rules.into_iter().unique().collect();
      info!(
        "Rewrites used the following rules: {}",
        deduplicated_rules.into_iter().join(", ")
      );
    }
    total_number_of_rewrites += number_of_rewrites;
    total_number_of_matches += number_of_matches;
  }
  if summaries.len() > 1 {
    info!(
      "Total files: {} (with {} matches and {} rewrites)",
      &summaries.len(),
      total_number_of_matches,
      total_number_of_rewrites
    );
  }
}