\nを\r\nに変換する。
以下の様なレシピで可能と思える。
file '/tmp/abc' do
content lazy {
File.read(path).gsub(/\r?\n/, "\r\n")
}
end
想定使用ケース
gitでは改行コードとして\nを用い、そのファイルをWindowsなどにcookbook_fileを用いて配布する場合などに、合わせて使用することを想定。
考慮事項
- マルチバイト文字中に\nがあった場合は考慮していない。(\nが文字中に現れることはありえるのだろうか。。)
- ?を用いて冪等性を担保。
- OhaiよりWindows環境なら実行などの条件があればbetterか。
検討事項
- FileEditに行を分割させればマルチバイトでも大丈夫か?
- 対象システムにnkfが入っているor入れても良いならnkf -Lwなども使えそう。
- each_lineやFile.readlines("foo").each { |line| ... } などは\r\nをどう扱うのか要確認。