lib/build/dependency/visualization.rb in build-dependency-1.5.0 vs lib/build/dependency/visualization.rb in build-dependency-1.5.1
- old
+ new
@@ -73,18 +73,20 @@
def generate(chain)
graph = Graphviz::Graph.new
graph.attributes[:ratio] = :auto
+ dependencies = dependencies_by_name(chain.dependencies)
+
chain.ordered.each do |resolution|
provider = resolution.provider
name = provider.name
# Provider is the dependency that provides the dependency referred to by name.
node = graph.add_node(name.to_s, @base_attributes.dup)
- if chain.dependencies.include?(resolution.dependency)
+ if dependencies.include?(resolution.dependency.name)
node.attributes.update(@dependency_attributes)
elsif chain.selection.include?(provider.name)
node.attributes.update(@selection_attributes)
end
@@ -143,9 +145,15 @@
end
end
end
return graph
+ end
+
+ private
+
+ def dependencies_by_name(dependencies)
+ dependencies.map{|depends| [depends.name, depends]}.to_h
end
end
end
end