summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLuke Kanies <luke@puppetlabs.com>2010-04-09 17:04:02 -0700
committerLuke Kanies <luke@puppetlabs.com>2010-04-09 17:04:02 -0700
commitc5ce824a08c4c2a60a88b68875ca310b44426581 (patch)
treee5f9228452d37c765abfe4e171edd5e85aae36bd /lib
parent6cd6c47efa75be82a5cb3e366caaa3bccfe33756 (diff)
downloadpuppet-c5ce824a08c4c2a60a88b68875ca310b44426581.tar.gz
puppet-c5ce824a08c4c2a60a88b68875ca310b44426581.tar.xz
puppet-c5ce824a08c4c2a60a88b68875ca310b44426581.zip
Fixing various broken Resource::Type tests
Also making the code a bit cleaner. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/resource/type.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/puppet/resource/type.rb b/lib/puppet/resource/type.rb
index 1192a1a9c..402df06a8 100644
--- a/lib/puppet/resource/type.rb
+++ b/lib/puppet/resource/type.rb
@@ -15,6 +15,10 @@ class Puppet::Resource::Type
attr_accessor :file, :line, :doc, :code, :ruby_code, :parent, :resource_type_collection
attr_reader :type, :namespace, :arguments, :behaves_like
+ RESOURCE_SUPERTYPES.each do |t|
+ define_method("#{t}?") { self.type == t }
+ end
+
# Are we a child of the passed class? Do a recursive search up our
# parentage tree to figure it out.
def child_of?(klass)
@@ -172,7 +176,7 @@ class Puppet::Resource::Type
scope.setvar("title", resource.title) unless set.include? :title
scope.setvar("name", resource.name) unless set.include? :name
- scope.class_set(self.name,scope)
+ scope.class_set(self.name,scope) if hostclass?
end
# Create a new subscope in which to evaluate our code.
@@ -214,7 +218,8 @@ class Puppet::Resource::Type
end
def evaluate_parent_type(resource)
- return unless klass = parent_type and parent_resource = resource.scope.compiler.catalog.resource(:class, klass.name)
+ #return unless klass = parent_type and parent_resource = resource.scope.compiler.catalog.resource(:class, klass.name)
+ return unless klass = parent_type and parent_resource = resource.catalog.resource(:class, klass.name)
parent_resource.evaluate unless parent_resource.evaluated?
return parent_scope(resource.scope, klass)
end