# File lib/puppet/indirector/yaml.rb, line 27 27: def save(request) 28: raise ArgumentError.new("You can only save objects that respond to :name") unless request.instance.respond_to?(:name) 29: 30: file = path(request.key) 31: 32: basedir = File.dirname(file) 33: 34: # This is quite likely a bad idea, since we're not managing ownership or modes. 35: Dir.mkdir(basedir) unless FileTest.exist?(basedir) 36: 37: begin 38: writelock(file, 0660) { |f| f.print to_yaml(request.instance) } 39: rescue TypeError => detail 40: Puppet.err "Could not save #{self.name} #{request.key}: #{detail}" 41: end 42: end