]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/chef/libraries/edit_file.rb
Make edit_file work again
[chef.git] / cookbooks / chef / libraries / edit_file.rb
index 1c8e263e41697f30c73352b092157e48880940f0..e632bcfd49dbd93f8dafd1caf4c09276b90aa01d 100644 (file)
@@ -1,9 +1,22 @@
 class Chef
+  class Util
+    class EditedFile
+      def initialize(file, block)
+        @file = file
+        @block = block
+      end
+
+      def to_s
+        ::File.new(@file).collect do |line|
+          line = @block.call(line)
+        end.join("")
+      end
+    end
+  end
+
   class Recipe
     def edit_file(file, &block)
-      ::File.new(file).collect do |line|
-        line = yield line
-      end.join("")
+      Chef::Util::EditedFile.new(file, block).to_s
     end
   end
 end