class IncludeComponentDependencyGraph
Returns a hash of intra-component include links
Public Class Methods
new(project)
click to toggle source
# File lib/cpp_dependency_graph/include_component_dependency_graph.rb, line 9 def initialize(project) @project = project end
Public Instance Methods
all_cyclic_links()
click to toggle source
# File lib/cpp_dependency_graph/include_component_dependency_graph.rb, line 20 def all_cyclic_links # TODO: Implement end
all_links()
click to toggle source
# File lib/cpp_dependency_graph/include_component_dependency_graph.rb, line 13 def all_links @project.source_files.map do |file| links = file.includes.map { |inc| Link.new(file.basename, inc, false) } [file.basename, links] end.to_h end
links(component_name)
click to toggle source
# File lib/cpp_dependency_graph/include_component_dependency_graph.rb, line 24 def links(component_name) component = @project.source_component(component_name) source_files = component.source_files external_includes = @project.external_includes(component) source_files.map do |file| # TODO: Very inefficient internal_includes = file.includes.reject { |inc| external_includes.any?(inc) } links = internal_includes.map { |inc| Link.new(file.basename, inc, false) } [file.basename, links] end.to_h end