Class: Dependency::GraphGenerator
- Inherits:
-
Object
- Object
- Dependency::GraphGenerator
- Defined in:
- lib/cocoapods-dependency-graph/generator/graph_generator.rb
Instance Method Summary collapse
- #dependency_spces(spec) ⇒ Object
- #dfs_graph(parent, specs) ⇒ Object
- #generate(umbrella_target, module_spec_hash) ⇒ Object
Instance Method Details
#dependency_spces(spec) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/cocoapods-dependency-graph/generator/graph_generator.rb', line 6 def dependency_spces(spec) dependencies = [] spec.dependencies.each { | dependency | d_spec = @module_spec_hash[dependency.name] next unless d_spec.source dependencies << d_spec } dependencies end |
#dfs_graph(parent, specs) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/cocoapods-dependency-graph/generator/graph_generator.rb', line 16 def dfs_graph(parent, specs) specs.each { | spec | next unless spec.source @graph.add_edge(parent, spec) dfs_graph(spec, dependency_spces(spec)) } end |
#generate(umbrella_target, module_spec_hash) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/cocoapods-dependency-graph/generator/graph_generator.rb', line 27 def generate(umbrella_target, module_spec_hash) @graph = RGL::DirectedAdjacencyGraph.new @module_spec_hash = module_spec_hash target_name = umbrella_target.cocoapods_target_label root_node = {:target => target_name} dfs_graph(root_node, umbrella_target.specs) @graph.print_dotted_on @graph.write_to_graphic_file('jpg') end |