diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-11-17 04:58:04 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-11-17 04:58:04 +0000 |
commit | b3c3de22fd5f46e762c6a7c650a50b169b1e6089 (patch) | |
tree | cbb8734b017ae53dd75d1defeab52cb8c53c538a /lib/puppet | |
parent | 407610138972c02266420c8ff76a55ce19537f96 (diff) | |
download | puppet-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.rb | 6 |
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 |