summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/ast/definition.rb
diff options
context:
space:
mode:
authorJesse Wolfe <jes5199@gmail.com>2010-10-05 11:43:32 -0700
committerJesse Wolfe <jes5199@gmail.com>2010-10-05 11:43:32 -0700
commite6c829617ccc120e04f945e8714f792ce29c284d (patch)
tree75718ca64fcc7699069f16a755141a676491a53f /lib/puppet/parser/ast/definition.rb
parent7bdbd132634f61d91aeee401de15248d936ce71e (diff)
parent6b278503021c4404904f56ced6995d0fbfa5b8fe (diff)
downloadpuppet-e6c829617ccc120e04f945e8714f792ce29c284d.tar.gz
puppet-e6c829617ccc120e04f945e8714f792ce29c284d.tar.xz
puppet-e6c829617ccc120e04f945e8714f792ce29c284d.zip
Merge remote branch 'paul/ticket/next/4657' into next
This patch conflicts with a backport of itself. This merge resolution favors the original patch for the code changes, and the 2.6.2 patch for the specs. Manually Resolved Conflicts: lib/puppet/dsl/resource_type_api.rb lib/puppet/parser/ast/definition.rb lib/puppet/parser/parser_support.rb spec/integration/parser/ruby_manifest_spec.rb spec/unit/dsl/resource_type_api_spec.rb
Diffstat (limited to 'lib/puppet/parser/ast/definition.rb')
-rw-r--r--lib/puppet/parser/ast/definition.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/puppet/parser/ast/definition.rb b/lib/puppet/parser/ast/definition.rb
index 287845ade..c43422f82 100644
--- a/lib/puppet/parser/ast/definition.rb
+++ b/lib/puppet/parser/ast/definition.rb
@@ -3,12 +3,15 @@ require 'puppet/parser/ast/top_level_construct'
class Puppet::Parser::AST::Definition < Puppet::Parser::AST::TopLevelConstruct
attr_accessor :context
- def initialize(name, context = {})
+ def initialize(name, context = {}, &ruby_code)
@name = name
@context = context
+ @ruby_code = ruby_code
end
def instantiate(modname)
- return [Puppet::Resource::Type.new(:definition, @name, @context.merge(:module_name => modname))]
+ new_definition = Puppet::Resource::Type.new(:definition, @name, @context.merge(:module_name => modname))
+ new_definition.ruby_code = @ruby_code if @ruby_code
+ [new_definition]
end
end