add zandonai to buildd-proposed apt source
[mirror/dsa-puppet.git] / modules / puppetmaster / lib / puppet / parser / functions / extractnodeinfo.rb
1 module Puppet::Parser::Functions
2   newfunction(:extractnodeinfo, :type => :rvalue) do |args|
3
4     nodeinfo = args.shift
5
6     ni = nodeinfo
7     keys_done = []
8
9     args.each do |key|
10       raise Puppet::ParseError, "nodeinfo is not a hash at #{keys_done.join('->')}" unless ni.kind_of?(Hash)
11       unless ni.has_key?(key)
12         ni = false
13         break
14       end
15       ni = ni[key]
16       keys_done << key
17     end
18     return ni
19   end
20 end
21 # vim:set et:
22 # vim:set sts=2 ts=2:
23 # vim:set shiftwidth=2: