Module: VagrantPlugins::ProviderLibvirt::Util::ErbTemplate

Instance Method Summary collapse

Instance Method Details

#to_xml(template_name = nil, data = binding) ⇒ Object

TODO might be a chance to use vagrant template system according to github.com/mitchellh/vagrant/issues/3231



10
11
12
13
14
15
16
17
18
19
# File 'lib/vagrant-libvirt/util/erb_template.rb', line 10

def to_xml template_name = nil, data = binding
  erb = template_name || self.class.to_s.split("::").last.downcase
  path = File.join(File.dirname(__FILE__), "..", "templates",
                   "#{erb}.xml.erb")
  template = File.read(path)

  # TODO according to erubis documentation, we should rather use evaluate and forget about 
  # binding since the template may then change variables values
  Erubis::Eruby.new(template, :trim => true).result(data)
end