]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/chef/libraries/edit_file.rb
Update subversion provider monkey patching
[chef.git] / cookbooks / chef / libraries / edit_file.rb
index 8a04a8090f3e45ce03a13e71bbba768d9b945376..bfbec455cebc82d00acc90725b70b627c9e3f36a 100644 (file)
@@ -1,26 +1,17 @@
 class Chef
-  class Util
-    class EditedFile
-      def initialize(file, block)
-        @file = file
-        @block = block
-      end
-
-      def kind_of?(klass)
-        klass == String || super
-      end
-
-      def to_s
-        ::File.new(@file).collect do |line|
-          line = @block.call(line)
-        end.join("")
+  module Mixin
+    module EditFile
+      def edit_file(file, &_block)
+        Chef::DelayedEvaluator.new do
+          ::File.new(file).collect do |line|
+            yield line
+          end.join("")
+        end
       end
     end
   end
 
   class Recipe
-    def edit_file(file, &block)
-      Chef::Util::EditedFile.new(file, block)
-    end
+    include Chef::Mixin::EditFile
   end
 end