0
廚師新手在這裏,也知道一些紅寶石。紅寶石廚師食譜中的多個文件替換
我不知道爲什麼我不能在我正在處理的示例配方中的文件中寫入兩次。
我在我的配置文件中有兩個模式需要替換,但是這樣做 不會更新這兩個模式;只有一個更新,而不是另一個。
ruby_block " Update Config File " do
block do
file_name = config_file
text = File.read(file_name)
File.write(file_name, text.gsub(search_value, replace_value))
File.write(file_name, text.gsub(second_search_value, second_replace_value))
end
only_if { File.exists?("#{config_file}") }
end
我知道我可以做另一個ruby_block,但我只是想知道我錯過了什麼使這項工作。由於我正在編輯同一個文件,因此我只需要一個ruby_block而不是兩個。
管理整個文件只是爲了回顯底部部分,使用模板資源確實更好,因爲這是一種更趨於收斂的方法。正如你的例子所表明的那樣,如果你的regexps沒有被仔細地編寫,你會冒着意想不到的替代。 – coderanger