use crate::platform::config::AppConfig;
use crate::tools::logger::{Logger, RuleChecker};
use std::sync::Arc;
pub struct RulesReporter {
rule_checker: RuleChecker,
logger: Arc<Logger>,
}
impl RulesReporter {
pub fn new(config: AppConfig, logger: Arc<Logger>) -> Self {
let rule_checker = RuleChecker::new(config);
Self {
rule_checker,
logger,
}
}
pub fn report_check_results(&self, _filename: &str, _line_number: usize) {
}
pub fn from_current_dir(logger: Arc<Logger>) -> anyhow::Result<Self> {
let current_dir = std::env::current_dir()?;
let config = AppConfig::load(¤t_dir)?;
Ok(Self::new(config, logger))
}
pub fn checker(&self) -> &RuleChecker {
&self.rule_checker
}
pub fn logger(&self) -> &Arc<Logger> {
&self.logger
}
}