27: def process
28:
29:
30: client = self.host.gsub("..",".")
31:
32: dir = File.join(Puppet[:reportdir], client)
33:
34: unless FileTest.exists?(dir)
35: mkclientdir(client, dir)
36: end
37:
38:
39: now = Time.now.gmtime
40: name = %w{year month day hour min}.collect do |method|
41:
42: "%02d" % now.send(method).to_s
43: end.join("") + ".yaml"
44:
45: file = File.join(dir, name)
46:
47: begin
48: File.open(file, "w", 0640) do |f|
49: f.print to_yaml
50: end
51: rescue => detail
52: if Puppet[:trace]
53: puts detail.backtrace
54: end
55: Puppet.warning "Could not write report for %s at %s: %s" %
56: [client, file, detail]
57: end
58:
59:
60: return file
61: end