class Bosh::Director::CompiledRelease::Manifest

Public Class Methods

new(manifest_hash) click to toggle source
# File lib/bosh/director/compiled_release/manifest.rb, line 4
def initialize(manifest_hash)
  @manifest = manifest_hash
end

Public Instance Methods

dependency_key(package_name) click to toggle source
# File lib/bosh/director/compiled_release/manifest.rb, line 14
def dependency_key(package_name)
  KeyGenerator.new.dependency_key_from_manifest(package_name, @manifest['compiled_packages'])
end
has_matching_package(package_name, stemcell_os, stemcell_version, dependency_key) click to toggle source
# File lib/bosh/director/compiled_release/manifest.rb, line 8
def has_matching_package(package_name, stemcell_os, stemcell_version, dependency_key)

  "#{stemcell_os}/#{stemcell_version}" == stemcell_os_and_version(package_name) &&
      dependency_key == dependency_key(package_name)
end

Private Instance Methods

meta_data(package_name) click to toggle source
# File lib/bosh/director/compiled_release/manifest.rb, line 20
def meta_data(package_name)
  @manifest['compiled_packages'].find { |p| p['name'] == package_name }
end
stemcell_os_and_version(package_name) click to toggle source
# File lib/bosh/director/compiled_release/manifest.rb, line 24
def stemcell_os_and_version(package_name)
  meta_data = meta_data(package_name)
  meta_data.nil? ? nil : meta_data['stemcell']
end