Module: Rigor::ModuleGraph

Defined in:
lib/rigor/module_graph/version.rb,
lib/rigor/module_graph/cli.rb,
lib/rigor/module_graph/dot.rb,
lib/rigor/module_graph/edge.rb,
lib/rigor/module_graph/node.rb,
lib/rigor/module_graph/stats.rb,
lib/rigor/module_graph/mermaid.rb,
lib/rigor/module_graph/analyzer.rb,
lib/rigor/module_graph/html_view.rb,
lib/rigor/module_graph/inflector.rb,
lib/rigor/module_graph/viewer/html.rb,
lib/rigor/module_graph/reachability.rb,
lib/rigor/module_graph/constant_name.rb,
lib/rigor/module_graph/cycle_detector.rb,
lib/rigor/module_graph/visibility_map.rb,
lib/rigor/module_graph/status_reporter.rb,
lib/rigor/module_graph/packwerk_overlay.rb,
lib/rigor/module_graph/uml/class_diagram.rb,
lib/rigor/module_graph/zeitwerk_resolver.rb,
lib/rigor/module_graph/plugin/rigor_plugin.rb

Overview

The rigor-module-graph gem’s public API. See the README for an overview and Rigor::ModuleGraph::CLI for the CLI surface.

Defined Under Namespace

Modules: CLI, ConstantName, CycleDetector, Dot, EdgeIO, HtmlView, Inflector, Mermaid, NodeIO, Reachability, Stats, Uml, Viewer Classes: Analyzer, Edge, Node, PackwerkOverlay, Plugin, StatusReporter, VisibilityMap, ZeitwerkResolver

Constant Summary collapse

EDGE_KINDS =

The list of valid kind values for an Edge.

%w[
  inherits
  include
  prepend
  extend
  const_ref
  has_many
  belongs_to
  has_one
  has_and_belongs_to_many
].freeze
ASSOCIATION_KINDS =

Subset of EDGE_KINDS that represent Rails ActiveRecord associations. Used by the class diagram renderer to attach cardinality labels, and by callers that want to filter the set as a group.

%w[has_many belongs_to has_one has_and_belongs_to_many].freeze
STRUCTURAL_KINDS =

The structural / mixin kinds — the “first class” relations of a typical dependency graph. const_ref and associations sit outside this set.

%w[inherits include prepend extend].freeze
EDGE_CONFIDENCES =

The list of valid confidence values for an Edge.

%w[syntax zeitwerk rigor_type unresolved].freeze
NODE_KINDS =

Kinds of node metadata the plugin emits. Class and module declarations carry the class itself; the remaining kinds are children of one — methods and attributes.

%w[
  class
  module
  instance_method
  class_method
  attribute
].freeze
NODE_VISIBILITIES =

Visibility values for a method / attribute. Matches the Ruby access modifiers.

%w[public protected private].freeze
NODE_ACCESSES =

Access flavours for an attr_* macro. Used to label attribute glyphs in a class diagram and nothing else.

%w[read write accessor].freeze
VERSION =

The installed gem version.

"0.1.3"