class Lutaml::Model::Validation::Registry
validation runs.
code or category, and instantiate all registered rules for
Instance-based rule registry. Register rule classes, look up by
def all
def all @mutex.synchronize do @all ||= @rules.map(&:new) end end
def auto_discover(dir, pattern: "**/*_rule.rb")
def auto_discover(dir, pattern: "**/*_rule.rb") Dir.glob(File.join(dir, pattern)).each { |path| require path } end
def find(code)
def find(code) all.find { |r| r.code == code } end
def for_category(category)
def for_category(category) all.select { |r| r.category == category } end
def initialize
def initialize @rules = [] @mutex = Mutex.new @all = nil end
def register(rule_class)
def register(rule_class) @mutex.synchronize do return if @rules.include?(rule_class) @rules << rule_class @all = nil end end
def reset!
def reset! @mutex.synchronize do @rules.clear @all = nil end end
def rule_classes
def rule_classes @rules.dup end
def size
def size @rules.size end