Class: Wongi::Engine::DSL::AnyRule

Inherits:
Object
  • Object
show all
Defined in:
lib/wongi-engine/dsl/any_rule.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ AnyRule

Returns a new instance of AnyRule.



7
8
9
10
11
12
# File 'lib/wongi-engine/dsl/any_rule.rb', line 7

def initialize &block
  @variants = []
  if block
    instance_eval &block
  end
end

Instance Attribute Details

#variantsObject (readonly)

Returns the value of attribute variants.



5
6
7
# File 'lib/wongi-engine/dsl/any_rule.rb', line 5

def variants
  @variants
end

Instance Method Details

#compile(context) ⇒ Object



20
21
22
# File 'lib/wongi-engine/dsl/any_rule.rb', line 20

def compile context
  context.tap { |c| c.or_node(variants) }
end

#option(&block) ⇒ Object



14
15
16
17
18
# File 'lib/wongi-engine/dsl/any_rule.rb', line 14

def option &block
  var = VariantRule.new
  var.instance_eval &block
  variants << var
end