]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/chef/libraries/edit_file.rb
nominatim: ruby packages needed for prometheus
[chef.git] / cookbooks / chef / libraries / edit_file.rb
index 400e1967e0c96718f84733728d6c8d621f25963a..7de56267f3628b62f639ce6afdc1d6b267accb0a 100644 (file)
@@ -1,22 +1,15 @@
-class Chef
-  class Util
-    class EditedFile
-      def initialize(file, block)
-        @file = file
-        @block = block
+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
-
-      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)
-      Chef::Util::EditedFile.new(file, block)
     end
   end
 end
+
+Chef::DSL::Recipe.include(OpenStreetMap::Mixin::EditFile)