# 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: unless FileTest.exist?(basedir) 36: Dir.mkdir(basedir) 37: end 38: 39: begin 40: writelock(file, 0660) { |f| f.print to_yaml(request.instance) } 41: rescue TypeError => detail 42: Puppet.err "Could not save %s %s: %s" % [self.name, request.key, detail] 43: end 44: end