>>12
>File.open('file.xml', 'r+') do |f|
> f.flock(File::LOCK_EX)
> f.truncate(0)
> f.rewind
> f.write('<?xml version="1.0" ?>')
>end

'r+' だとファイルが存在しなかったときにエラーになるよね。
それがいやで、自分は 'r+' じゃなくて 'a' にしてるんだけど、なにか問題あるでしょうか。
詳しい人のコメント求む。