Class: Gitlab::Ci::Reports::Sbom::DependencyAdjacencyList
- Inherits:
-
Object
- Object
- Gitlab::Ci::Reports::Sbom::DependencyAdjacencyList
- Defined in:
- lib/gitlab/ci/reports/sbom/dependency_adjacency_list.rb
Instance Method Summary collapse
- #add_component_info(ref, name, version) ⇒ Object
- #add_edge(parent, child) ⇒ Object
- #ancestors_for(child) ⇒ Object
-
#initialize ⇒ DependencyAdjacencyList
constructor
A new instance of DependencyAdjacencyList.
Constructor Details
#initialize ⇒ DependencyAdjacencyList
Returns a new instance of DependencyAdjacencyList.
8 9 10 11 |
# File 'lib/gitlab/ci/reports/sbom/dependency_adjacency_list.rb', line 8 def initialize @adjacency_list = Hash.new { |hash, key| hash[key] = [] } @component_info = {} end |
Instance Method Details
#add_component_info(ref, name, version) ⇒ Object
17 18 19 |
# File 'lib/gitlab/ci/reports/sbom/dependency_adjacency_list.rb', line 17 def add_component_info(ref, name, version) component_info[ref] = { name: name, version: version } end |
#add_edge(parent, child) ⇒ Object
13 14 15 |
# File 'lib/gitlab/ci/reports/sbom/dependency_adjacency_list.rb', line 13 def add_edge(parent, child) adjacency_list[child] << parent end |
#ancestors_for(child) ⇒ Object
21 22 23 24 25 |
# File 'lib/gitlab/ci/reports/sbom/dependency_adjacency_list.rb', line 21 def ancestors_for(child) ancestors_ref_for(child).filter_map do |ancestor_ref| component_info[ancestor_ref] end end |