class Bosh::Director::Core::Templates::RenderedJobInstance
Public Class Methods
new(job_templates)
click to toggle source
# File lib/bosh/director/core/templates/rendered_job_instance.rb, line 9 def initialize(job_templates) @job_templates = job_templates end
Public Instance Methods
configuration_hash()
click to toggle source
# File lib/bosh/director/core/templates/rendered_job_instance.rb, line 13 def configuration_hash instance_digest = Digest::SHA1.new @job_templates.sort { |x, y| x.name <=> y.name }.each do |rendered_job_template| bound_templates = '' bound_templates << rendered_job_template.monit bound_templates << rendered_job_template.name rendered_job_template.templates.sort { |x, y| x.src_name <=> y.src_name }.each do |template_file| bound_templates << template_file.contents bound_templates << template_file.dest_name end instance_digest << bound_templates end instance_digest.hexdigest end
persist(blobstore)
click to toggle source
# File lib/bosh/director/core/templates/rendered_job_instance.rb, line 38 def persist(blobstore) file = Tempfile.new('compressed-rendered-job-templates') compressed_archive = CompressedRenderedJobTemplates.new(file.path) compressed_archive.write(@job_templates) blobstore_id = blobstore.create(compressed_archive.contents) RenderedTemplatesArchive.new(blobstore_id, compressed_archive.sha1) ensure file.close! end
template_hashes()
click to toggle source
# File lib/bosh/director/core/templates/rendered_job_instance.rb, line 32 def template_hashes @job_templates.reduce({}) do |h, rendered_job_template| h.merge(rendered_job_template.name => rendered_job_template.template_hash) end end