# File lib/puppet/indirector/file.rb, line 42
42:     def save(request)
43:         if respond_to?(:path)
44:             path = path(request.key)
45:         else
46:             path = request.key
47:         end
48:         dir = File.dirname(path)
49: 
50:         raise Puppet::Error.new("Cannot save %s; parent directory %s does not exist" % [request.key, dir]) unless File.directory?(dir)
51: 
52:         begin
53:             File.open(path, "w") { |f| f.print request.instance.content }
54:         rescue => detail
55:             raise Puppet::Error, "Could not write %s: %s" % [request.key, detail]
56:         end
57:     end