class Berkshelf::Resolver::Graph
Public Instance Methods
populate(sources)
click to toggle source
@param [Array<Berkshelf::Source>, Berkshelf::Source
] sources
# File lib/berkshelf/resolver/graph.rb, line 35 def populate(sources) universe(sources).each do |cookbook| next if has_artifact?(cookbook.name, cookbook.version) artifact(cookbook.name, cookbook.version) cookbook.dependencies.each do |dependency, constraint| constraint = nil if constraint.empty? artifact(cookbook.name, cookbook.version).depends(dependency, constraint) end end end
populate_local(cookbook)
click to toggle source
Add dependencies of a locally cached cookbook to the graph
@param [Berkshelf::CachedCookbook] cookbook
@return [Hash]
# File lib/berkshelf/resolver/graph.rb, line 23 def populate_local(cookbook) name = cookbook.cookbook_name version = cookbook.version artifact(name, version) cookbook.dependencies.each do |dependency, constraint| constraint = nil if constraint.empty? artifact(name, version).depends(dependency, constraint) end end
populate_store(store = nil)
click to toggle source
@param [Berkshelf::CookbookStore] store
# File lib/berkshelf/resolver/graph.rb, line 5 def populate_store(store = nil) store ||= Berkshelf::CookbookStore.instance store.cookbooks.each do |cookbook| artifact(cookbook.cookbook_name, cookbook.version) cookbook.dependencies.each do |dependency, constraint| constraint = nil if constraint.empty? artifact(cookbook.cookbook_name, cookbook.version).depends(dependency, constraint) end end end
universe(sources)
click to toggle source
@param [Array<Berkshelf::Source>, Berkshelf::Source
] sources
@return [Array<Berkshelf::RemoteCookbook>]
# File lib/berkshelf/resolver/graph.rb, line 51 def universe(sources) cookbooks = [] Array(sources).each { |source| cookbooks |= source.universe } cookbooks end