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