summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-04-04 17:29:16 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-04-04 17:29:16 +0000
commit5d42cd51a3502518a5d0a22928a133768dcaeb1a (patch)
tree599b4ae12a957e141fc114364e5e342102045c9a /lib/puppet/parser
parentc8be52b7a9d95c1efcdb8df4ee88ae3f65c6f2df (diff)
downloadpuppet-5d42cd51a3502518a5d0a22928a133768dcaeb1a.tar.gz
puppet-5d42cd51a3502518a5d0a22928a133768dcaeb1a.tar.xz
puppet-5d42cd51a3502518a5d0a22928a133768dcaeb1a.zip
Fixing the class file to actually store class names, not object ids. Also added tests to make sure it all stays that way.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1063 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/parser')
-rw-r--r--lib/puppet/parser/ast/hostclass.rb2
-rw-r--r--lib/puppet/parser/interpreter.rb2
-rw-r--r--lib/puppet/parser/scope.rb12
3 files changed, 7 insertions, 9 deletions
diff --git a/lib/puppet/parser/ast/hostclass.rb b/lib/puppet/parser/ast/hostclass.rb
index 3952cd4dc..503802b93 100644
--- a/lib/puppet/parser/ast/hostclass.rb
+++ b/lib/puppet/parser/ast/hostclass.rb
@@ -48,7 +48,7 @@ class Puppet::Parser::AST
# Set the mark after we evaluate, so we don't record it but
# then encounter an error
- scope.setclass(self.object_id)
+ scope.setclass(self.object_id, @type)
return retval
end
diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb
index c432e39a8..4f5f1f69a 100644
--- a/lib/puppet/parser/interpreter.rb
+++ b/lib/puppet/parser/interpreter.rb
@@ -77,8 +77,6 @@ module Puppet
# Create our parser object
parsefiles
-
- evaluate
end
# Connect to the LDAP Server
diff --git a/lib/puppet/parser/scope.rb b/lib/puppet/parser/scope.rb
index 76fb1703e..6e945adb4 100644
--- a/lib/puppet/parser/scope.rb
+++ b/lib/puppet/parser/scope.rb
@@ -214,7 +214,7 @@ module Puppet
unless defined? @classtable
raise Puppet::DevError, "Scope did not receive class table"
end
- return @classtable.keys
+ return @classtable.values
end
# Yield each child scope in turn
@@ -590,11 +590,11 @@ module Puppet
# Look up a given class. This enables us to make sure classes are
# singletons
- def lookupclass(klass)
+ def lookupclass(klassid)
unless defined? @classtable
raise Puppet::DevError, "Scope did not receive class table"
end
- return @classtable[klass]
+ return @classtable[klassid]
end
# Collect all of the defaults set at any higher scopes.
@@ -730,11 +730,11 @@ module Puppet
# that gets inherited from the nodescope down, rather than a global
# hash. We store the object ID, not class name, so that we
# can support multiple unrelated classes with the same name.
- def setclass(id)
+ def setclass(id, name)
if self.nodescope? or self.topscope?
- @classtable[id] = true
+ @classtable[id] = name
else
- @parent.setclass(id)
+ @parent.setclass(id, name)
end
end