dry4rust/cli/
stats_command.rs1use std::io::Write;
7
8use crate::analysis::AnalysisResult;
9use crate::cli::cli_error::CliResult;
10use crate::output::reporter::Reporter;
11
12pub struct StatsCommand<'a> {
14 result: &'a AnalysisResult,
15 reporter: &'a dyn Reporter,
16}
17
18impl<'a> StatsCommand<'a> {
19 #[must_use]
20 pub const fn new(result: &'a AnalysisResult, reporter: &'a dyn Reporter) -> Self {
21 Self { result, reporter }
22 }
23
24 pub fn run(&self, writer: &mut impl Write) -> CliResult {
30 self.reporter.report_stats(&self.result.stats, writer)?;
31 Ok(())
32 }
33}