Sha256: 3663eb1e6abc145a2a8840defdaa022ae279691f42a659be118b13823c7f2c99

Contents?: true

Size: 917 Bytes

Versions: 5

Compression:

Stored size: 917 Bytes

Contents

Puppet::Parser::Functions::newfunction(:template, :type => :rvalue, :doc =>
  "Evaluate a template and return its value.  See
  [the templating docs](http://docs.puppetlabs.com/guides/templating.html) for 
  more information.
  
  Note that if multiple templates are specified, their output is all
  concatenated and returned as the output of the function.") do |vals|
    require 'erb'

    vals.collect do |file|
      # Use a wrapper, so the template can't get access to the full
      # Scope object.
      debug "Retrieving template #{file}"

      wrapper = Puppet::Parser::TemplateWrapper.new(self)
      wrapper.file = file
      begin
        wrapper.result
      rescue => detail
        info = detail.backtrace.first.split(':')
        raise Puppet::ParseError,
          "Failed to parse template #{file}:\n  Filepath: #{info[0]}\n  Line: #{info[1]}\n  Detail: #{detail}\n"
      end
    end.join("")
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
librarian-puppet-0.9.4 vendor/gems/ruby/1.8/gems/puppet-2.7.18/lib/puppet/parser/functions/template.rb
librarian-puppet-0.9.3 vendor/gems/ruby/1.8/gems/puppet-2.7.18/lib/puppet/parser/functions/template.rb
puppet-2.7.18 lib/puppet/parser/functions/template.rb
puppet-2.7.17 lib/puppet/parser/functions/template.rb
puppet-2.7.16 lib/puppet/parser/functions/template.rb