Module: Minsc::RulesEngine::ClassMethods

Defined in:
lib/minsc/rules_engine.rb

Instance Method Summary collapse

Instance Method Details

#execute(*args) ⇒ Object



15
16
17
18
19
20
# File 'lib/minsc/rules_engine.rb', line 15

def execute(*args)
  RulesEngine.registry[self]
    .map { |rule_class| rule_class.new(*args) }
    .select(&:applicable?)
    .map(&:execute)
end

#rule(rule_class) ⇒ Object



22
23
24
# File 'lib/minsc/rules_engine.rb', line 22

def rule(rule_class)
  RulesEngine.add_rule(self, rule_class)
end