class Bosh::Director::Core::Templates::JobInstanceRenderer
Public Class Methods
new(templates, job_template_loader)
click to toggle source
# File lib/bosh/director/core/templates/job_instance_renderer.rb, line 6 def initialize(templates, job_template_loader) @templates = templates @job_template_loader = job_template_loader end
Public Instance Methods
render(spec)
click to toggle source
# File lib/bosh/director/core/templates/job_instance_renderer.rb, line 11 def render(spec) errors = [] rendered_templates = @templates.map do |template| job_template_renderer = job_template_renderers[template.name] begin job_template_renderer.render(spec) rescue Exception => e errors.push e end end if errors.length > 0 message = "Unable to render jobs for instance group '#{spec['job']['name']}'. Errors are:" errors.each do |e| message = "#{message}\n - #{e.message.gsub(/\n/, "\n ")}" end raise message end RenderedJobInstance.new(rendered_templates) end
Private Instance Methods
job_template_renderers()
click to toggle source
# File lib/bosh/director/core/templates/job_instance_renderer.rb, line 39 def job_template_renderers @job_template_renderers ||= @templates.reduce({}) do |hash, template| hash[template.name] = @job_template_loader.process(template) hash end end