module-common/lib/puppet/parser/functions/tfile.rb

20 lines
564 B
Ruby
Raw Normal View History

2010-12-30 14:04:53 +01:00
Puppet::Parser::Functions::newfunction(
:tfile,
:type => :rvalue,
:doc => "Returns the content of a file. If the file or the path does not
yet exist, it will create the path and touch the file."
) do |args|
raise Puppet::ParseError, 'tfile() needs one argument' if args.length != 1
path = args.to_a.first
unless File.exists?(path)
dir = File.dirname(path)
unless File.directory?(dir)
2012-06-08 17:26:43 +02:00
require 'fileutils'
FileUtils.mkdir_p(dir, :mode => 0700)
2010-12-30 14:04:53 +01:00
end
require 'fileutils'
FileUtils.touch(path)
end
File.read(path)
2010-12-30 14:04:53 +01:00
end