class Torm::RulesEngine::RuleVariationHelper

Simple helper class to add the block DSL to add_rules

Public Class Methods

new(engine, name, **conditions) click to toggle source
# File lib/torm/rules_engine.rb, line 50
def initialize(engine, name, **conditions)
  @engine = engine
  @name = name
  @conditions = conditions
end

Public Instance Methods

conditions(**conditions) { |engine| ... } click to toggle source

@yield [Torm::RulesEngine::RulesVariationHelper]

# File lib/torm/rules_engine.rb, line 62
def conditions(**conditions)
  engine = self.class.new(@engine, @name, **@conditions.merge(conditions))
  yield engine
  nil
end
variation(value, policy, **conditions) click to toggle source
# File lib/torm/rules_engine.rb, line 56
def variation(value, policy, **conditions)
  @engine.add_rule(@name, value, policy, @conditions.merge(conditions))
  nil
end