Class: Metaschema::MarkdownDocGenerator
- Inherits:
-
Object
- Object
- Metaschema::MarkdownDocGenerator
- Defined in:
- lib/metaschema/markdown_doc_generator.rb
Overview
Generates human-readable Markdown documentation from a parsed Metaschema document.
Usage:
ms = Metaschema::Root.from_xml(File.read("metaschema.xml"))
markdown = MarkdownDocGenerator.generate(ms)
File.write("docs.md", markdown)
The generator walks the metaschema definition tree and emits Markdown with:
-
Schema title and version
-
Table of contents
-
Assembly, field, and flag definitions with descriptions
-
Property tables showing types, constraints, and cardinality
-
Examples from <example> elements
Class Method Summary collapse
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(metaschema) ⇒ MarkdownDocGenerator
constructor
A new instance of MarkdownDocGenerator.
Constructor Details
#initialize(metaschema) ⇒ MarkdownDocGenerator
Returns a new instance of MarkdownDocGenerator.
22 23 24 25 |
# File 'lib/metaschema/markdown_doc_generator.rb', line 22 def initialize() @metaschema = @output = [] end |
Class Method Details
.generate(metaschema) ⇒ Object
18 19 20 |
# File 'lib/metaschema/markdown_doc_generator.rb', line 18 def self.generate() new().generate end |
Instance Method Details
#generate ⇒ Object
27 28 29 30 31 32 |
# File 'lib/metaschema/markdown_doc_generator.rb', line 27 def generate header table_of_contents definitions @output.join("\n") end |