]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tools/libraries/content_from_file.rb
Add a bunch more cookbooks
[chef.git] / cookbooks / tools / libraries / content_from_file.rb
diff --git a/cookbooks/tools/libraries/content_from_file.rb b/cookbooks/tools/libraries/content_from_file.rb
new file mode 100644 (file)
index 0000000..d8d0fe7
--- /dev/null
@@ -0,0 +1,22 @@
+class Chef
+  class Resource
+    class File
+      def content_from_file(file, &block)
+        @content_file = file
+        @content_block = block
+      end
+
+      def content(text = nil)
+        if text
+          @content = text
+        elsif @content
+          @content
+        elsif @content_file
+          ::File.new(@content_file).collect do |line|
+            line = @content_block.call(line)
+          end.join("")
+        end
+      end
+    end
+  end
+end