Module: Coradoc::Markdown::Serializer::Registrations

Defined in:
lib/coradoc/markdown/serializer/registrations.rb

Overview

Auto-registers all built-in element serializers into a fresh Registry. Called once per Runner (cached via ‘default_registry`).

Adding a new element serializer = appending one entry here. No lookup code changes — Open/Closed.

Constant Summary collapse

SERIALIZEABLE =
[
  Serializers::Document,
  Serializers::Heading,
  Serializers::Paragraph,
  Serializers::List,
  Serializers::CodeBlock,
  Serializers::Blockquote,
  Serializers::Link,
  Serializers::Image,
  Serializers::HorizontalRule,
  Serializers::Table,
  Serializers::Emphasis,
  Serializers::Strong,
  Serializers::Code,
  Serializers::Strikethrough,
  Serializers::Highlight,
  Serializers::Subscript,
  Serializers::Superscript,
  Serializers::Underline,
  Serializers::CrossReference,
  Serializers::AttributeList,
  Serializers::Math,
  Serializers::Extension,
  Serializers::DefinitionList,
  Serializers::Footnote,
  Serializers::FootnoteReference,
  Serializers::Abbreviation,
  Serializers::Comment,
  Serializers::Admonition,
  Serializers::ExampleBlock,
  Serializers::OpenBlock,
  Serializers::Sidebar,
  Serializers::Verse,
  Serializers::Pass,
  Serializers::Literal,
  Serializers::HardLineBreak
].freeze

Class Method Summary collapse

Class Method Details

.default_registryObject



91
92
93
94
95
# File 'lib/coradoc/markdown/serializer/registrations.rb', line 91

def default_registry
  @mutex.synchronize do
    @default ||= register_all(Registry.new)
  end
end

.fresh_registryObject



97
98
99
# File 'lib/coradoc/markdown/serializer/registrations.rb', line 97

def fresh_registry
  register_all(Registry.new)
end