Engine
Nokogiri Adaptor
Append child to node(s).
# File lib/jam/nokogiri.rb, line 74 def append(node_or_nodeset, child) ns = node_or_nodeset case child when ::Nokogiri::XML::Node each_node(node_or_nodeset) do |node| node << child end when ::Nokogiri::XML::NodeSet child.each do |n| each_node(node_or_nodeset) do |node| node << n.dup end end else append_text(node_or_nodeset, child) end end
# File lib/jam/nokogiri.rb, line 93 def append_text(node_or_nodeset, text) end
Set an attribute.
# File lib/jam/nokogiri.rb, line 118 def attribute(ns, att, val) case ns when ::Nokogiri::XML::Node ns.attr(att, val) when ::Nokogiri::XML::NodeSet ns.each do |n| ns.attr(att, val) end end end
Remove jam nodes that ask for it, and all jam attributes.
# File lib/jam/nokogiri.rb, line 131 def cleanup(node) node = node.root if ::Nokogiri::XML::Document === node # remove unwanted tags node.xpath("//*[@jam='erase']").each do |n| unwrap(n) end # remove jam attributes # node end
Deep copy.
# File lib/jam/nokogiri.rb, line 55 def copy(node) node.dup end
Contruct XML document given source text.
# File lib/jam/nokogiri.rb, line 43 def document(source) ::Nokogiri::XML(source, *@options) end
Iterate over each node.
# File lib/jam/nokogiri.rb, line 145 def each_node(nodes) unless ::Nokogiri::XML::NodeSet === nodes nodes = [nodes] end nodes.each do |node| yield(node) end end
Empty nodes.
# File lib/jam/nokogiri.rb, line 61 def empty(node_or_nodeset) case node_or_nodeset when ::Nokogiri::XML::Node node_or_nodeset.content = '' when ::Nokogiri::XML::NodeSet ns.each do |n| node_or_nodeset.content = '' end end end
Remove node.
# File lib/jam/nokogiri.rb, line 112 def remove(node) node.remove end
Replace node content with text.
# File lib/jam/nokogiri.rb, line 104 def replace_content_with_text(node_or_nodeset, text) each_node(node_or_nodeset) do |node| node.content = text end end
Disabled; run with --debug to generate this.