projects
/
mirror
/
dsa-puppet.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Try to make extractnodeinfo accept more than one level of hash keys
[mirror/dsa-puppet.git]
/
files
/
etc
/
puppet
/
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
return false unless ni.has_key?(key)
12
ni = ni[key]
13
keys_done << key
14
end
15
return ni
16
end
17
end