]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/chef/libraries/edit_file.rb
donate: redirect to support.osm.org
[chef.git] / cookbooks / chef / libraries / edit_file.rb
index 8a04a8090f3e45ce03a13e71bbba768d9b945376..7de56267f3628b62f639ce6afdc1d6b267accb0a 100644 (file)
@@ -1,26 +1,15 @@
-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 OpenStreetMap
+  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
       end
     end
   end
-
-  class Recipe
-    def edit_file(file, &block)
-      Chef::Util::EditedFile.new(file, block)
-    end
-  end
 end
 end
+
+Chef::DSL::Recipe.include(OpenStreetMap::Mixin::EditFile)