From dde5c8568b87245a406a55cb4317f657172cea25 Mon Sep 17 00:00:00 2001 From: Sijawusz Pur Rahnama Date: Tue, 29 Oct 2024 02:03:49 +0100 Subject: [PATCH] Refactor `Runner#rule_runnable?` impl a bit more --- src/ameba/runner.cr | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/ameba/runner.cr b/src/ameba/runner.cr index cc7aa66dc..5166de535 100644 --- a/src/ameba/runner.cr +++ b/src/ameba/runner.cr @@ -74,15 +74,18 @@ module Ameba protected def initialize(rules, @sources, @formatter, @severity, @autocorrect = false, @version = nil) @rules = - rules.select { |rule| rule_runnable?(rule) } + rules.select { |rule| rule_runnable?(rule, @version) } @unneeded_disable_directive_rule = rules.find &.class.==(Rule::Lint::UnneededDisableDirective) end - protected def rule_runnable?(rule) - rule.enabled? && !rule.special? && - (!(version = @version) || !(since_version = rule.since_version) || - since_version <= version) + protected def rule_runnable?(rule, version) + rule.enabled? && !rule.special? && rule_satisfies_version?(rule, version) + end + + protected def rule_satisfies_version?(rule, version) + !version || !(since_version = rule.since_version) || + since_version <= version end # Performs the inspection. Iterates through all sources and test it using