Class: Metanorma::Iso::Sts::Transformer::TermTransformer

Inherits:
Transformer::Base
  • Object
show all
Defined in:
lib/metanorma/iso/sts/transformer/term_transformer.rb

Instance Method Summary collapse

Instance Method Details

#transform_entry(term) ⇒ Object



37
38
39
40
41
42
43
44
45
# File 'lib/metanorma/iso/sts/transformer/term_transformer.rb', line 37

def transform_entry(term)
  entry = ::Sts::TbxIsoTml::TermEntry.new
  entry.id = "term_#{term.id.gsub(/^term_/, '')}" if term.id

  lang = @context.language || "en"
  entry.lang_set build_lang_set(term, lang)

  entry
end

#transform_section(terms) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/metanorma/iso/sts/transformer/term_transformer.rb', line 7

def transform_section(terms)
  build_ordered(::Sts::IsoSts::TermSec) do |ts|
    ts.id = id_for(terms)

    if terms.number && !terms.number.empty?
      ts.label = ::Sts::IsoSts::Label.new(content: [terms.number])
    end

    if terms.title
      ts.title transform_title(terms.title)
    end

    terms.each_mixed_content do |node|
      next if node.is_a?(String)
      next if node == terms.title

      case node
      when Metanorma::Document::Components::Paragraphs::ParagraphBlock,
           Metanorma::IsoDocument::RawParagraph
        ts.p paragraph_transformer.transform(node)
      when Metanorma::Document::Components::Lists::UnorderedList,
           Metanorma::Document::Components::Lists::OrderedList
        ts.list list_transformer.transform(node)
      when Metanorma::IsoDocument::Terms::IsoTerm
        ts.tbz_term_entry transform_entry(node)
      end
    end
  end
end