class Wongi::Engine::DSL::AnyRule

Attributes

variants[R]

Public Class Methods

new(&block) click to toggle source
# File lib/wongi-engine/dsl/any_rule.rb, line 6
def initialize(&block)
  @variants = []
  instance_eval(&block) if block
end

Public Instance Methods

compile(context) click to toggle source
# File lib/wongi-engine/dsl/any_rule.rb, line 17
def compile(context)
  context.tap { |c| c.or_node(variants) }
end
option(&block) click to toggle source
# File lib/wongi-engine/dsl/any_rule.rb, line 11
def option(&block)
  var = VariantRule.new
  var.forall(&block)
  variants << var
end