X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/00d5d525005346f6d6f6f4802e238e9e12412117..45c0862be818c87ac9825ed36a7a2e9d3a1aab7c:/cookbooks/chef/libraries/edit_file.rb?ds=inline diff --git a/cookbooks/chef/libraries/edit_file.rb b/cookbooks/chef/libraries/edit_file.rb index 8a04a8090..7de56267f 100644 --- a/cookbooks/chef/libraries/edit_file.rb +++ b/cookbooks/chef/libraries/edit_file.rb @@ -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 - - class Recipe - def edit_file(file, &block) - Chef::Util::EditedFile.new(file, block) - end - end end + +Chef::DSL::Recipe.include(OpenStreetMap::Mixin::EditFile)