Class: Bosh::Director::CompiledPackageDownloader

Inherits:
Object
  • Object
show all
Defined in:
lib/bosh/director/compiled_package_downloader.rb

Instance Method Summary collapse

Constructor Details

#initialize(compiled_package_group, blobstore_client) ⇒ CompiledPackageDownloader

Returns a new instance of CompiledPackageDownloader.



8
9
10
11
# File 'lib/bosh/director/compiled_package_downloader.rb', line 8

def initialize(compiled_package_group, blobstore_client)
  @compiled_package_group = compiled_package_group
  @blobstore_client = blobstore_client
end

Instance Method Details

#cleanupObject



29
30
31
# File 'lib/bosh/director/compiled_package_downloader.rb', line 29

def cleanup
  FileUtils.rm_rf(@download_dir)
end

#downloadObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/bosh/director/compiled_package_downloader.rb', line 13

def download
  @download_dir = Dir.mktmpdir

  blobs_path = File.join(@download_dir, 'compiled_packages', 'blobs')
  FileUtils.mkpath(blobs_path)

  @compiled_package_group.compiled_packages.each do |compiled_package|
    blobstore_id = compiled_package.blobstore_id
    File.open(File.join(blobs_path, blobstore_id), 'w') do |f|
      @blobstore_client.get(blobstore_id, f, sha1: compiled_package.sha1)
    end
  end

  @download_dir
end