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