X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fpuppetmaster%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fyamlinfo.rb;h=8f705c8d813730d31dd1185ee824b7f4f1e47d82;hb=284a7948f13a3932a5cc58c42f1b1bc72248c5dd;hp=4cc88f0fd5e1bae11654b3e8bcc1fbb3a8c0729a;hpb=3d6710d74726d9920a34edeafd31e06b60b645b0;p=mirror%2Fdsa-puppet.git diff --git a/modules/puppetmaster/lib/puppet/parser/functions/yamlinfo.rb b/modules/puppetmaster/lib/puppet/parser/functions/yamlinfo.rb index 4cc88f0fd..8f705c8d8 100644 --- a/modules/puppetmaster/lib/puppet/parser/functions/yamlinfo.rb +++ b/modules/puppetmaster/lib/puppet/parser/functions/yamlinfo.rb @@ -3,9 +3,10 @@ module Puppet::Parser::Functions host = args[0] yamlfile = args[1] + parser = Puppet::Parser::Parser.new(environment) parser.watch_file(yamlfile) - def read_yaml(yaml, host) + read_yaml = lambda { |yaml, host| results = {} ['nameinfo', 'footer'].each do |detail| @@ -39,7 +40,7 @@ module Puppet::Parser::Functions end end return(results) - end + } require 'yaml' $KCODE = 'utf-8' @@ -51,10 +52,10 @@ module Puppet::Parser::Functions Dir.entries('/var/lib/puppet/yaml/node/').each do |fname| next unless fname =~ /(.*)\.yaml$/ host_name = $1 - ret[host_name] = read_yaml(yaml, host_name) + ret[host_name] = read_yaml.call(yaml, host_name) end else - ret = read_yaml(yaml, host) + ret = read_yaml.call(yaml, host) end return(ret)