Class: BoshJobDocker::ReleaseTarball
- Inherits:
-
Object
- Object
- BoshJobDocker::ReleaseTarball
- Defined in:
- lib/bosh_job_docker/release_tarball.rb
Overview
A BOSH release tarball.
Instance Method Summary collapse
- #build_order(job) ⇒ Object
- #extract_package(package, dest) ⇒ Object
-
#initialize(path) ⇒ ReleaseTarball
constructor
A new instance of ReleaseTarball.
- #release_manifest ⇒ Object
Constructor Details
#initialize(path) ⇒ ReleaseTarball
Returns a new instance of ReleaseTarball.
13 14 15 16 17 18 19 |
# File 'lib/bosh_job_docker/release_tarball.rb', line 13 def initialize(path) @work_dir = Dir.mktmpdir @extracter = TarExtracter.new extracter.extract(path, work_dir) @resolver = PackageDepResolver.new(release_manifest) end |
Instance Method Details
#build_order(job) ⇒ Object
30 31 32 33 34 |
# File 'lib/bosh_job_docker/release_tarball.rb', line 30 def build_order(job) job_packages(job).reduce([]) do |order, p| order + resolver.package_deps(p) end.uniq end |
#extract_package(package, dest) ⇒ Object
25 26 27 28 |
# File 'lib/bosh_job_docker/release_tarball.rb', line 25 def extract_package(package, dest) FileUtils.mkdir_p(dest) extracter.extract(package_tarball_path(package), dest) end |
#release_manifest ⇒ Object
21 22 23 |
# File 'lib/bosh_job_docker/release_tarball.rb', line 21 def release_manifest YAML.load_file(File.join(work_dir, 'release.MF')) end |