Module: Leeroy::Helpers::Template

Includes:
Leeroy::Helpers
Included in:
Task::Fixture, Task::Instantiate
Defined in:
lib/leeroy/helpers/template.rb

Instance Method Summary collapse

Instance Method Details

#renderTemplate(template, b = binding) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/leeroy/helpers/template.rb', line 8

def renderTemplate(template, b = binding)
  begin
    # is the template a file?
    begin
      template_str = File.read(template)
      logger.debug "reading template from '#{template}'"

    rescue SystemCallError => e
      logger.debug e.message
      template_str = template
      logger.debug "reading template from provided string"
    end

    # run the ERB renderer in a separate thread, restricted
    # http://www.stuartellis.eu/articles/erb/
    ERB.new(template_str, 0).result(b)

  rescue StandardError => e
    raise e
  end
end