summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-11-17 04:58:04 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-11-17 04:58:04 +0000
commitb3c3de22fd5f46e762c6a7c650a50b169b1e6089 (patch)
treecbb8734b017ae53dd75d1defeab52cb8c53c538a /lib/puppet
parent407610138972c02266420c8ff76a55ce19537f96 (diff)
downloadpuppet-b3c3de22fd5f46e762c6a7c650a50b169b1e6089.tar.gz
puppet-b3c3de22fd5f46e762c6a7c650a50b169b1e6089.tar.xz
puppet-b3c3de22fd5f46e762c6a7c650a50b169b1e6089.zip
Fixing #342. Classes needed to have their namespaces set to their fully qualified names, so that contained code and definitions looked for definitions starting with that fq name.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1890 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/parser/interpreter.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb
index fe8e17084..4480a123a 100644
--- a/lib/puppet/parser/interpreter.rb
+++ b/lib/puppet/parser/interpreter.rb
@@ -505,7 +505,11 @@ class Puppet::Parser::Interpreter
else
# Define it anew.
ns, name = namesplit(fqname)
- args = {:type => name, :namespace => ns, :fqname => fqname, :interp => self}
+
+ # Note we're doing something somewhat weird here -- we're setting
+ # the class's namespace to its fully qualified name. This means
+ # anything inside that class starts looking in that namespace first.
+ args = {:type => name, :namespace => fqname, :fqname => fqname, :interp => self}
args[:code] = code if code
args[:parentclass] = parent if parent
@classtable[fqname] = @parser.ast AST::HostClass, args