]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/puppetmaster/lib/puppet/parser/functions/getfromhash.rb
Always remove acpi packages from jessie hosts
[dsa-puppet.git] / modules / puppetmaster / lib / puppet / parser / functions / getfromhash.rb
1 module Puppet::Parser::Functions
2   newfunction(:getfromhash, :type => :rvalue) do |args|
3     x = args.shift
4     keys = args
5     keys_done = []
6
7     # allows getting of hash[key] or even hash[key1][key2] etc.
8     keys.each do |key|
9       raise Puppet::ParseError, "argument[#{keys_done.join('][')}] is not a hash." unless x.kind_of?(Hash)
10       unless x.has_key?(key)
11         x = false
12         break
13       end
14       x = x[key]
15       keys_done << key
16     end
17
18     return x
19   end
20 end
21 # vim:set et:
22 # vim:set sts=2 ts=2:
23 # vim:set shiftwidth=2: