module Puppet::Parser::Functions newfunction(:getvar, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args| Lookup a variable in a remote namespace. For example: $foo = getvar('site::data::foo') This is useful if the namespace itself is stored in a string: $bar = getvar("${datalocation}::bar") ENDHEREDOC unless args.length == 1 raise Puppet::ParseError, ("getvar(): wrong number of arguments (#{args.length}; must be 1)") end self.lookupvar("#{args[0]}") end end