Sha256: f8232381a485bf2dfd40b1c9e5a896611223c6fcf1b2b48c0a96401b996e975b

Contents?: true

Size: 1.12 KB

Versions: 25

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

require "plurimath/xml_engine"
require "corelib/array/pack" if RUBY_ENGINE == "opal"
require "oga"
require_relative "oga/document"
require_relative "oga/wrapper"
require_relative "oga/element"
require_relative "oga/dumper"
require_relative "oga/node"

module Plurimath
  module XmlEngine
    class Oga
      class << self
        def new_element(name)
          data = ::Oga::XML::Element.new(name: name)
          Node.new(data)
        end

        def dump(data, indent: nil)
          Dumper.new(data, indent: indent).dump.out
        end

        def load(data)
          data = ::Oga::XML::Parser.new(data, html: true).parse
          return Document.new(data) if data.xml_declaration

          Document.new(data).nodes.first
        end

        def is_xml_comment?(node)
          node = node.unwrap if node.respond_to? :unwrap
          node.is_a?(::Oga::XML::Comment)
        end

        def replace_nodes(root, nodes)
          text_node = ::Oga::XML::Text.new(text: nodes)
          root.unwrap.children = ::Oga::XML::NodeSet.new([text_node])
          root
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
plurimath-0.9.0 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.27 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.26 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.25 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.24 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.23 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.22 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.21 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.20 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.19 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.18 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.17 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.16 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.15 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.14 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.13 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.12 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.11 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.10 lib/plurimath/xml_engine/oga.rb
plurimath-0.8.9 lib/plurimath/xml_engine/oga.rb