Class: Stepmod::Utils::Converters::Term

Inherits:
ReverseAdoc::Converters::Base
  • Object
show all
Defined in:
lib/stepmod/utils/converters/term.rb

Instance Method Summary collapse

Instance Method Details

#convert(node, state = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/stepmod/utils/converters/term.rb', line 17

def convert(node, state = {})
  first_child = node.children.find do |child|
    child.name == "text" && !child.text.to_s.strip.empty?
  end

  unless first_child &&
      node.text.split(";").length == 2 &&
      defined?(Stepmod::Utils::Converters::Synonym)
    return "=== #{treat_acronym(treat_children(node, state).strip)}"
  end

  term_def, alt = node.text.split(";")
  alt_xml = Nokogiri::XML::Text.new(alt, Nokogiri::XML::Document.new)
  converted_alt = Stepmod::Utils::Converters::Synonym.new.convert(alt_xml)
  "=== #{treat_acronym(term_def)}\n\n#{converted_alt}"
end

#treat_children(node, state) ⇒ Object

We strip all the children in the case for "stem:[d]-manifold" vs "stem:[d] -manifold"



12
13
14
15
# File 'lib/stepmod/utils/converters/term.rb', line 12

def treat_children(node, state)
  res = node.children.map { |child| treat(child, state) }
  res.map(&:strip).reject(&:empty?).join("")
end