Class: Bosh::Director::Models::ReleaseVersion
- Defined in:
- lib/bosh/director/models/release_version.rb
Instance Method Summary collapse
-
#dependencies(package) ⇒ Object
immediate dependency models.
- #package_by_name(package_name) ⇒ Object
-
#transitive_dependencies(package) ⇒ Object
all dependency models, including transitives assumes there are no cycles (checked during upload).
- #validate ⇒ Object
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 |