# File lib/puppet/reports/store.rb, line 27
27:     def process
28:         # We don't want any tracking back in the fs.  Unlikely, but there
29:         # you go.
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:         # Now store the report.
39:         now = Time.now.gmtime
40:         name = %w{year month day hour min}.collect do |method|
41:             # Make sure we're at least two digits everywhere
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:         # Only testing cares about the return value
60:         return file
61:     end