Class: Metanorma::Cc::Converter
- Inherits:
-
Generic::Converter
- Object
- Generic::Converter
- Metanorma::Cc::Converter
- Defined in:
- lib/metanorma/cc/log.rb,
lib/metanorma/cc/converter.rb
Constant Summary collapse
- CC_LOG_MESSAGES =
{ # rubocop:disable Naming/VariableNumber "CC_1": { category: "Style", error: "Only one Symbols and Abbreviated Terms section in the standard", severity: 2 }, "CC_2": { category: "Style", error: "Symbols and Abbreviated Terms can only contain a definition list", severity: 2 }, "CC_3": { category: "Style", error: "(section sequencing) %s", severity: 2 }, "CC_4": { category: "Style", error: "Document must contain at least one clause", severity: 2 }, "CC_5": { category: "Style", error: "Document must contain clause after Terms and Definitions", severity: 2 }, "CC_6": { category: "Style", error: "Scope must occur before Terms and Definitions", severity: 2 }, "CC_8": { category: "Style", error: "Only annexes and references can follow clauses", severity: 2 }, "CC_9": { category: "Style", error: "Document must include (references) Normative References", severity: 2 }, "CC_11": { category: "Style", error: "Final section must be (references) Bibliography", severity: 2 }, "CC_12": { category: "Style", error: "There are sections after the final Bibliography", severity: 2 }, }.freeze
Instance Method Summary collapse
- #configuration ⇒ Object
- #doc_converter(node) ⇒ Object
- #html_converter(node) ⇒ Object
-
#log_messages ⇒ Object
rubocop:enable Naming/VariableNumber.
- #outputs(node, ret) ⇒ Object
- #pdf_converter(node) ⇒ Object
- #presentation_xml_converter(node) ⇒ Object
Instance Method Details
#configuration ⇒ Object
14 15 16 |
# File 'lib/metanorma/cc/converter.rb', line 14 def configuration Metanorma::Cc.configuration end |
#doc_converter(node) ⇒ Object
39 40 41 |
# File 'lib/metanorma/cc/converter.rb', line 39 def doc_converter(node) IsoDoc::Cc::WordConvert.new(doc_extract_attributes(node)) end |
#html_converter(node) ⇒ Object
29 30 31 |
# File 'lib/metanorma/cc/converter.rb', line 29 def html_converter(node) IsoDoc::Cc::HtmlConvert.new(html_extract_attributes(node)) end |
#log_messages ⇒ Object
rubocop:enable Naming/VariableNumber
40 41 42 |
# File 'lib/metanorma/cc/log.rb', line 40 def super.merge(CC_LOG_MESSAGES) end |
#outputs(node, ret) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/metanorma/cc/converter.rb', line 18 def outputs(node, ret) File.open("#{@filename}.xml", "w:UTF-8") { |f| f.write(ret) } presentation_xml_converter(node).convert("#{@filename}.xml") html_converter(node).convert("#{@filename}.presentation.xml", nil, false, "#{@filename}.html") doc_converter(node).convert("#{@filename}.presentation.xml", nil, false, "#{@filename}.doc") pdf_converter(node)&.convert("#{@filename}.presentation.xml", nil, false, "#{@filename}.pdf") end |
#pdf_converter(node) ⇒ Object
33 34 35 36 37 |
# File 'lib/metanorma/cc/converter.rb', line 33 def pdf_converter(node) return if node.attr("no-pdf") IsoDoc::Cc::PdfConvert.new(pdf_extract_attributes(node)) end |
#presentation_xml_converter(node) ⇒ Object
43 44 45 46 47 |
# File 'lib/metanorma/cc/converter.rb', line 43 def presentation_xml_converter(node) IsoDoc::Cc::PresentationXMLConvert .new(doc_extract_attributes(node) .merge(output_formats: ::Metanorma::Cc::Processor.new.output_formats)) end |