Class: Pione::Lang::FlowRuleDeclaration

Inherits:
RuleDeclaration show all
Defined in:
lib/pione/lang/declaration.rb

Instance Method Summary collapse

Methods inherited from Declaration

#eval!, inherited

Methods included from Util::Positionable

#line_and_column, #pos, #set_source_position

Instance Method Details

#eval(env) ⇒ Object



275
276
277
278
279
280
281
282
283
284
285
286
287
# File 'lib/pione/lang/declaration.rb', line 275

def eval(env)
  rules = get_reference(env, expr, RuleExprSequence)
  rules.pieces.each do |piece|
    ref = piece.set(package_id: get_package_id(env, piece))

    definition = FlowRuleDefinition.new(
      rule_condition_context: rule_condition_context,
      flow_context: flow_context
    )

    env.rule_set(ref, definition)
  end
end