Jam::LibXML

Parent

Generated with Razzle Dazzle Redfish.
[Validate]

LibXML Adaptor

Public Class Methods

new(*options) click to toggle source
# File lib/jam/libxml.rb, line 39
    def initialize(*options)
      @options = options
    end

Public Instance Methods

append(ns, child) click to toggle source
# File lib/jam/libxml.rb, line 87
    def append(ns, child)
      if ::LibXML::XML::XPath::Object === child
        child.each do |c|
          case ns
          when ::LibXML::XML::Node
            ns << c
          when ::LibXML::XML::XPath::Object, Array
            ns.each do |n|
              n << c
            end
          end
        end
      else
        case ns
        when ::LibXML::XML::Node
          ns << child
        when ::LibXML::XML::XPath::Object, Array
          ns.each do |n|
            n << child
          end
        end
      end
    end
attribute(ns, att, val) click to toggle source
# File lib/jam/libxml.rb, line 123
    def attribute(ns, att, val)
      case ns
      when ::LibXML::XML::Node
        ns.attr(att, val)
      when ::LibXML::XML::XPath::Object, Array
        ns.each do |n|
          ns.attr(att, val)
        end
      end
    end
copy(node) click to toggle source

deep copy

# File lib/jam/libxml.rb, line 65
    def copy(node)
      node.copy(true)
    end
document(source) click to toggle source
# File lib/jam/libxml.rb, line 44
    def document(source)
      ::LibXML::XML::Document.string(source, *@options)
    end
each_node(nodes) click to toggle source

Iterate over each node.

# File lib/jam/libxml.rb, line 136
    def each_node(nodes)
      case nodes
      when ::LibXML::XML::XPath::Object, Array
        nodes = nodes
      else
        nodes = [nodes]
      end
      nodes.each do |node|
        yield(node)
      end
    end
empty(ns) click to toggle source
# File lib/jam/libxml.rb, line 75
    def empty(ns)
      case ns
      when ::LibXML::XML::Node
        ns.content = ''
      when ::LibXML::XML::XPath::Object, Array
        ns.each do |n|
          n.content = ''
        end
      end
    end
remove(node) click to toggle source
# File lib/jam/libxml.rb, line 118
    def remove(node)
      node.remove
    end
remove(node) click to toggle source
# File lib/jam/libxml.rb, line 70
    def remove(node)
      node.remove
    end
replace(ns, child) click to toggle source
# File lib/jam/libxml.rb, line 112
    def replace(ns, child)
      empty(ns)
      append(ns, child)
    end
search(node, qry) click to toggle source
# File lib/jam/libxml.rb, line 49
    def search(node, qry)
      qry = Jam.css_to_xpath(qry)
      case node
      when ::LibXML::XML::XPath::Object, Array
        a = []
        node.each do |n|
          z = n.find(qry).to_a
          a.concat(z)
        end
        a
      else
        node.find(qry)
      end
    end

Disabled; run with --debug to generate this.