Class: Bosh::Director::CompiledReleaseDownloader
- Defined in:
- lib/bosh/director/compiled_release_downloader.rb
Instance Method Summary collapse
- #cleanup ⇒ Object
- #download ⇒ Object
-
#initialize(compiled_packages_group, templates, blobstore_client) ⇒ CompiledReleaseDownloader
constructor
A new instance of CompiledReleaseDownloader.
Constructor Details
#initialize(compiled_packages_group, templates, blobstore_client) ⇒ CompiledReleaseDownloader
Returns a new instance of CompiledReleaseDownloader.
7 8 9 10 11 |
# File 'lib/bosh/director/compiled_release_downloader.rb', line 7 def initialize(compiled_packages_group, templates, blobstore_client) @compiled_packages_group = compiled_packages_group @templates = templates @blobstore_client = blobstore_client end |
Instance Method Details
#cleanup ⇒ Object
39 40 41 |
# File 'lib/bosh/director/compiled_release_downloader.rb', line 39 def cleanup FileUtils.rm_rf(@download_dir) end |
#download ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/bosh/director/compiled_release_downloader.rb', line 13 def download @download_dir = Dir.mktmpdir path = File.join(@download_dir, 'compiled_packages') FileUtils.mkpath(path) @compiled_packages_group.compiled_packages.each do |compiled_package| blobstore_id = compiled_package.blobstore_id File.open(File.join(path, "#{compiled_package.package.name}.tgz"), 'w') do |f| @blobstore_client.get(blobstore_id, f, sha1: compiled_package.sha1) end end path = File.join(@download_dir, 'jobs') FileUtils.mkpath(path) @templates.each do |template| blobstore_id = template.blobstore_id File.open(File.join(path, "#{template.name}.tgz"), 'w') do |f| @blobstore_client.get(blobstore_id, f, sha1: template.sha1) end end @download_dir end |