class BoshJobDocker::PackageDepResolver

BOSH package dependency resolver.

Attributes

release_manifest[R]

Public Class Methods

new(release_manifest) click to toggle source
# File lib/bosh_job_docker/package_dep_resolver.rb, line 6
def initialize(release_manifest)
  @release_manifest = release_manifest
end

Public Instance Methods

package_deps(package_name) click to toggle source
# File lib/bosh_job_docker/package_dep_resolver.rb, line 10
def package_deps(package_name)
  package = lookup_package(package_name)
  deps = package['dependencies'].map { |p| package_deps(p) }.flatten
  deps << package_name
end

Private Instance Methods

lookup_package(package_name) click to toggle source
# File lib/bosh_job_docker/package_dep_resolver.rb, line 18
def lookup_package(package_name)
  release_manifest['packages'].find { |p| p['name'] == package_name }
end