Module: Wongi::Engine::DSL

Extended by:
DSL
Included in:
DSL
Defined in:
lib/wongi-engine/dsl.rb,
lib/wongi-engine/dsl.rb,
lib/wongi-engine/dsl/builder.rb,
lib/wongi-engine/dsl/generated.rb

Defined Under Namespace

Modules: Action, Clause, Generated Classes: AnyRule, Builder, NccSubrule, Query, Rule, VariantRule

Instance Method Summary collapse

Instance Method Details

#dsl(&definition) ⇒ Object



26
27
28
# File 'lib/wongi-engine/dsl.rb', line 26

def dsl &definition
  Builder.new.build &definition
end

#query(name, &definition) ⇒ Object



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

def query name, &definition
  q = Query.new name
  q.instance_eval &definition
  q
end

#rule(name = nil, &definition) ⇒ Object



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

def rule name = nil, &definition
  r = Rule.new name
  r.instance_eval &definition
  r
end

#ruleset(name = nil, &definition) ⇒ Object



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

def ruleset name = nil, &definition
  rs = Ruleset.new
  if ! name.nil?
    rs.name name
  end
  rs.instance_eval &definition if block_given?
  rs
end