Module: Easydsl

Defined in:
lib/easydsl.rb,
lib/easydsl/node.rb,
lib/easydsl/version.rb,
lib/easydsl/node_array.rb,
lib/easydsl/node_builder.rb

Defined Under Namespace

Classes: Node, NodeArray, NodeBuilder

Constant Summary collapse

VERSION =
'0.1.2'.freeze

Class Method Summary collapse

Class Method Details

.define(*_args, &block) ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
10
11
# File 'lib/easydsl.rb', line 6

def self.define(*_args, &block)
  raise(ArgumentError, 'A block is mandatory.') unless block_given?
  tree = NodeBuilder.new('root')
  tree.instance_exec(&block)
  Node.new(tree.get_name, tree.get_args, 0, nil, tree.get_nodes)
end