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

Version Path
puppet-retrospec-0.12.2 vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb
puppet-3.8.7 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.7-x86-mingw32 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.7-x64-mingw32 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.6 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.6-x86-mingw32 lib/puppet/dsl/resource_type_api.rb
puppet-retrospec-0.12.1 vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb
puppet-3.8.6-x64-mingw32 lib/puppet/dsl/resource_type_api.rb
puppet-retrospec-0.12.0 vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb
puppet-3.8.5 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.5-x86-mingw32 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.5-x64-mingw32 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.4 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.4-x86-mingw32 lib/puppet/dsl/resource_type_api.rb
puppet-3.8.4-x64-mingw32 lib/puppet/dsl/resource_type_api.rb
puppet-retrospec-0.11.0 vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb
puppet-retrospec-0.10.0 vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb
puppet-retrospec-0.9.1 vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb
puppet-retrospec-0.9.0 vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb
puppet-retrospec-0.8.1 vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb