Module: Coradoc::Mirror::MirrorYamlFormat

Defined in:
lib/coradoc/mirror/mirror_yaml_format.rb

Overview

Format module for mirror YAML output.

Registers with Coradoc so the CLI can discover it:

Coradoc.convert(text, from: :asciidoc, to: :mirror_yaml)
coradoc convert doc.adoc -t mirror_yaml

Class Method Summary collapse

Class Method Details

.handles_model?(_model) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/coradoc/mirror/mirror_yaml_format.rb', line 32

def handles_model?(_model)
  false
end

.parse_to_core(_input, _options = {}) ⇒ Object

Output-only format — parsing from mirror YAML is not supported via the format registry. Use Mirror::Node.from_hash directly.

Raises:

  • (Coradoc::UnsupportedFormatError)


16
17
18
19
20
# File 'lib/coradoc/mirror/mirror_yaml_format.rb', line 16

def parse_to_core(_input, _options = {})
  raise Coradoc::UnsupportedFormatError,
        'Parsing from mirror YAML is not supported via the format registry. ' \
        'Use Coradoc::Mirror::Node.from_hash(YAML.safe_load(input)) directly.'
end

.serialize(document, _options = {}) ⇒ Object

Accept CoreModel, serialize to Mirror YAML.



23
24
25
26
# File 'lib/coradoc/mirror/mirror_yaml_format.rb', line 23

def serialize(document, _options = {})
  node = Coradoc::Mirror.transform(document)
  YAML.dump(node.to_hash)
end

.serialize?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/coradoc/mirror/mirror_yaml_format.rb', line 28

def serialize?
  true
end