Sha256: a9dd4e3922d87e21faae3271983c5690a8377fc7b10657f8e16458873b4e836b
Contents?: true
Size: 945 Bytes
Versions: 150
Compression:
Stored size: 945 Bytes
Contents
require 'puppet/resource/type' # Type of the objects inside of which pure ruby manifest files are # executed. Provides methods for creating defines, hostclasses, and # nodes. class Puppet::DSL::ResourceTypeAPI def initialize @__created_ast_objects__ = [] end def define(name, *args, &block) args = args.inject([]) do |result, item| if item.is_a?(Hash) item.each { |p, v| result << [p, v] } else result << item end result end @__created_ast_objects__.push Puppet::Parser::AST::Definition.new(name, {:arguments => args}, &block) nil end def hostclass(name, options = {}, &block) @__created_ast_objects__.push Puppet::Parser::AST::Hostclass.new(name, options, &block) nil end def node(name, options = {}, &block) name = [name] unless name.is_a?(Array) @__created_ast_objects__.push Puppet::Parser::AST::Node.new(name, options, &block) nil end end
Version data entries
150 entries across 150 versions & 5 rubygems