Skip to content

Commit

Permalink
Merge remote branch 'lavamind/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
duritong committed Nov 30, 2010
2 parents ba43064 + 63322aa commit a81984c
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 1 deletion.
29 changes: 29 additions & 0 deletions lib/puppet/parser/functions/multi_source_template.rb
@@ -0,0 +1,29 @@
module Puppet::Parser::Functions
require 'erb'

newfunction(:multi_source_template, :type => :rvalue) do |args|
contents = nil
environment = compiler.environment
sources = args

sources.each do |file|
Puppet.debug("Looking for #{file} in #{environment}")
if filename = Puppet::Parser::Files.find_template(file, environment.to_s)
wrapper = Puppet::Parser::TemplateWrapper.new(self)
wrapper.file = file

begin
contents = wrapper.result
rescue => detail
raise Puppet::ParseError, "Failed to parse template %s: %s" % [file, detail]
end

break
end
end

raise Puppet::ParseError, "multi_source_template: No match found for files: #{sources.join(', ')}" if contents == nil

contents
end
end
2 changes: 1 addition & 1 deletion manifests/defines/config_file.pp
Expand Up @@ -31,7 +31,7 @@
file { $name:
ensure => $ensure,
# keep old versions on the server
backup => server,
backup => puppet,
# default permissions for config files
mode => 0644, owner => root, group => 0,
# really detect changes to this file
Expand Down

0 comments on commit a81984c

Please sign in to comment.