Module: Canon::Diff

Defined in:
lib/canon/diff.rb,
lib/canon/diff/diff_line.rb,
lib/canon/diff/diff_node.rb,
lib/canon/diff/diff_block.rb,
lib/canon/diff/diff_report.rb,
lib/canon/diff/diff_context.rb,
lib/canon/diff/path_builder.rb,
lib/canon/diff/source_locator.rb,
lib/canon/diff/diff_char_range.rb,
lib/canon/diff/diff_classifier.rb,
lib/canon/diff/node_serializer.rb,
lib/canon/diff/text_decomposer.rb,
lib/canon/diff/diff_node_mapper.rb,
lib/canon/diff/diff_line_builder.rb,
lib/canon/diff/diff_block_builder.rb,
lib/canon/diff/diff_node_enricher.rb,
lib/canon/diff/diff_report_builder.rb,
lib/canon/diff/formatting_detector.rb,
lib/canon/diff/diff_context_builder.rb,
lib/canon/diff/xml_serialization_formatter.rb

Overview

Diff representation and pipeline construction.

This namespace holds the structural artifacts produced by the diff pipeline — DiffNode, DiffLine, DiffBlock, DiffContext, DiffReport —plus the builders that assemble them (DiffNodeMapper, DiffLineBuilder, DiffBlockBuilder, DiffContextBuilder, DiffReportBuilder) and the supporting services (PathBuilder, NodeSerializer, DiffClassifier, FormattingDetector, SourceLocator, TextDecomposer, DiffCharRange, DiffNodeEnricher, XmlSerializationFormatter).

All children are autoloaded from this file — never ‘require_relative` them from sibling files. Reference the constant and let autoload resolve it on first use.

Defined Under Namespace

Classes: DiffBlock, DiffBlockBuilder, DiffCharRange, DiffClassifier, DiffContext, DiffContextBuilder, DiffLine, DiffLineBuilder, DiffNode, DiffNodeEnricher, DiffNodeMapper, DiffReport, DiffReportBuilder, FormattingDetector, NodeSerializer, PathBuilder, SourceLocator, TextDecomposer, XmlSerializationFormatter