Class: Docbook::Mirror::Handlers::Example

Inherits:
Object
  • Object
show all
Defined in:
lib/docbook/mirror/handlers/example.rb

Class Method Summary collapse

Class Method Details

.address(element, context:) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/docbook/mirror/handlers/example.rb', line 32

def self.address(element, context:)
  attrs = { xml_id: element.xml_id }.compact
  text = context.extract_text(element)
  return nil if text.empty?

  Node::CodeBlock.new(
    attrs: attrs.merge({ language: "text" }),
    content: [Node::Text.new(text: text)],
  )
end

.call(element, context:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/docbook/mirror/handlers/example.rb', line 7

def self.call(element, context:)
  title_text = context.resolve_title(element)
  xml_id = element.xml_id
  attrs = { xml_id: xml_id, title: title_text }.compact

  content = context.extract_content(element)

  return nil if content.empty? && !xml_id

  Node::CodeBlock.new(
    attrs: attrs,
    content: content,
  )
end

.informal(element, context:) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/docbook/mirror/handlers/example.rb', line 22

def self.informal(element, context:)
  inner = context.extract_content(element)
  return nil if inner.empty?

  xml_id = element.xml_id
  return inner.first if inner.length == 1 && !xml_id

  Node::CodeBlock.new(attrs: { xml_id: xml_id }.compact, content: inner)
end

.legalnotice(element, context:) ⇒ Object



43
44
45
46
47
48
49
50
51
52
# File 'lib/docbook/mirror/handlers/example.rb', line 43

def self.legalnotice(element, context:)
  attrs = {
    xml_id: element.xml_id,
    title: context.resolve_title(element),
  }.compact
  content = context.extract_content(element)
  return nil if content.empty?

  Node::Section.new(attrs: attrs, content: content)
end