module Rigor::ModuleGraph::CLI
Entry point for the rigor-module-graph executable.
Subcommands:
collect [PATHSβ¦] Run rigor check and write edges JSONL dot [FILE] Render edges JSONL as Graphviz DOT mermaid [FILE] Render edges JSONL as Mermaid cycles [FILE] Detect cycles and print them
Every reader subcommand takes the path to an edges file, or reads stdin if no path is given. Each reader supports --kind and --confidence filters so a noisy graph can be pruned without touching the JSONL on disk.
Constants
- DEFAULT_EDGES_PATH
- DEFAULT_NODES_PATH
- EDGE_RULE
- NODE_RULE
- SOURCE_FAMILY
- USAGE
Public Instance Methods
Source
# File lib/rigor/module_graph/cli.rb, line 47 def run(argv, stdout: $stdout, stderr: $stderr, stdin: $stdin) argv = argv.dup command = argv.shift case command when nil View.new(stdout: stdout, stderr: stderr).run([]) when "view" View.new(stdout: stdout, stderr: stderr).run(argv) when "collect" Collect.new(stdout: stdout, stderr: stderr).run(argv) when "dot" Render.new(:dot, stdout: stdout, stderr: stderr, stdin: stdin).run(argv) when "mermaid" Render.new(:mermaid, stdout: stdout, stderr: stderr, stdin: stdin).run(argv) when "cycles" Cycles.new(stdout: stdout, stderr: stderr, stdin: stdin).run(argv) when "stats" StatsCmd.new(stdout: stdout, stderr: stderr, stdin: stdin).run(argv) when "class-diagram" ClassDiagramCmd.new(stdout: stdout, stderr: stderr, stdin: stdin).run(argv) when "-h", "--help", "help" stdout.puts USAGE 0 when "version", "-v", "--version" stdout.puts "rigor-module-graph #{Rigor::ModuleGraph::VERSION}" 0 else stderr.puts "rigor-module-graph: unknown command #{command.inspect}" stderr.puts USAGE 2 end end