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