Class: Bosh::Director::Models::ReleaseVersion

Inherits:
Object
  • Object
show all
Defined in:
lib/bosh/director/models/release_version.rb

Instance Method Summary collapse

Instance Method Details

#dependencies(package) ⇒ Object

immediate dependency models



15
16
17
# File 'lib/bosh/director/models/release_version.rb', line 15

def dependencies(package)
  package.dependency_set.map { |package_name| package_by_name(package_name) }.to_set
end

#package_by_name(package_name) ⇒ Object



30
31
32
# File 'lib/bosh/director/models/release_version.rb', line 30

def package_by_name(package_name)
  packages_by_name.fetch(package_name)
end

#transitive_dependencies(package) ⇒ Object

all dependency models, including transitives assumes there are no cycles (checked during upload)



21
22
23
24
25
26
27
28
# File 'lib/bosh/director/models/release_version.rb', line 21

def transitive_dependencies(package)
  dependency_set = Set.new
  dependencies(package).each do |dependency|
    dependency_set << dependency
    dependency_set.merge(transitive_dependencies(dependency))
  end
  dependency_set
end

#validateObject



8
9
10
11
12
# File 'lib/bosh/director/models/release_version.rb', line 8

def validate
  validates_format VALID_ID, :version
  validates_presence [:release_id, :version]
  validates_unique [:release_id, :version]
end