class Vara::ProductResourceDownloader

Attributes

product_basedir[R]
product_metadata[R]

Public Class Methods

build(product_metadata_path) click to toggle source
# File lib/vara/product_resource_downloader.rb, line 6
def self.build(product_metadata_path)
  product_metadata = Vara::ProductMetadata.from_file(product_metadata_path)
  product_basedir = File.expand_path(File.join(File.dirname(product_metadata_path), '..'))
  new(product_metadata, product_basedir)
end
new(product_metadata, product_basedir) click to toggle source
# File lib/vara/product_resource_downloader.rb, line 14
def initialize(product_metadata, product_basedir)
  @product_basedir  = product_basedir
  @product_metadata = product_metadata
end

Public Instance Methods

download() click to toggle source
# File lib/vara/product_resource_downloader.rb, line 19
def download
  if product_metadata.explicit_stemcell? && product_metadata.stemcell_criteria?
    raise 'binaries.yml includes both stemcell and stemcell criteria keys'
  end

  if product_metadata.explicit_stemcell?
    download_stemcell
    download_compiled_packages
  end

  download_releases
end

Private Instance Methods

download_compiled_packages() click to toggle source
# File lib/vara/product_resource_downloader.rb, line 51
def download_compiled_packages
  return unless product_metadata.has_compiled_packages?

  compiled_packages_metadata   = product_metadata.compiled_packages_metadata
  compiled_packages_dir        = File.join(product_basedir, 'compiled_packages')
  compiled_package = Vara::Tarball.new(compiled_packages_metadata, compiled_packages_dir)
  compiled_package.sync_local_copy
end
download_releases() click to toggle source
# File lib/vara/product_resource_downloader.rb, line 41
def download_releases
  releases_metadata = product_metadata.releases_metadata

  releases_metadata.each do |release_metadata|
    release_directory = File.join(product_basedir, 'releases')
    release = Vara::Tarball.new(release_metadata, release_directory)
    release.sync_local_copy
  end
end
download_stemcell() click to toggle source
# File lib/vara/product_resource_downloader.rb, line 34
def download_stemcell
  stemcell_metadata   = product_metadata.stemcell_metadata
  stemcell_directory  = File.join(product_basedir, 'stemcells')
  stemcell = Vara::Tarball.new(stemcell_metadata, stemcell_directory)
  stemcell.sync_local_copy
end