Class: Rwm::Commands::Graph
- Inherits:
-
Object
- Object
- Rwm::Commands::Graph
- Defined in:
- lib/rwm/commands/graph.rb
Instance Method Summary collapse
-
#initialize(argv) ⇒ Graph
constructor
A new instance of Graph.
- #run ⇒ Object
Constructor Details
#initialize(argv) ⇒ Graph
Returns a new instance of Graph.
8 9 10 11 12 |
# File 'lib/rwm/commands/graph.rb', line 8 def initialize(argv) @argv = argv @format = nil end |
Instance Method Details
#run ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rwm/commands/graph.rb', line 14 def run workspace = Workspace.find graph = DependencyGraph.build(workspace) graph.save(workspace.graph_path, workspace.root) puts " Graph saved to .rwm/graph.json (#{graph.packages.size} packages, #{graph.edges.values.flatten.size} edges)" case @format when :dot puts graph.to_dot when :mermaid puts graph.to_mermaid else # Show a brief package listing when no format is requested unless graph.packages.empty? graph.packages.each_value do |pkg| deps = graph.edges[pkg.name] || [] dep_str = deps.empty? ? "" : " → #{deps.join(", ")}" puts " #{pkg.type == "lib" ? "lib" : "app"}/#{pkg.name}#{dep_str}" end end end 0 end |