module KnifeSous::DSL

Public Class Methods

included(base) click to toggle source
# File lib/knife_sous/dsl_definitions.rb, line 6
def self.included(base)
  base.class_eval do
    base.extend Forwardable
    def_delegators :children, :<<, :first, :last, :[], :map, :each, :to_a, :keep_if, :empty?
  end
end

Public Instance Methods

children() click to toggle source
# File lib/knife_sous/dsl_definitions.rb, line 13
def children
  @children ||= []
end
namespace(name, &block) click to toggle source
# File lib/knife_sous/dsl_definitions.rb, line 17
def namespace(name, &block)
  namespace = Namespace.new(name)
  namespace.evaluate_block(&block)
  children << namespace
end
node(name, args={}) click to toggle source
# File lib/knife_sous/dsl_definitions.rb, line 23
def node(name, args={})
  node = Node.new(name, args)
  children << node
end