class Nokogiri::XML::Node
def diff(other,options={},&block)
-
(Enumerator)
-
Other tags:
- Yieldparam: node -
Yieldparam: change -
Other tags:
- Yield: -
Options Hash:
(**options)
-
:removed
(Boolean
) -- -
:added
(Boolean
) --
Parameters:
-
options
(Hash
) -- -
other
(Nokogiri::XML::Node
) --
def diff(other,options={},&block) return enum_for(__method__,other,options) unless block if (options[:added] || options[:removed]) tdiff_unordered(other) do |change,node| if (change == '+' && options[:added]) then yield change, node elsif (change == '-' && options[:removed]) then yield change, node end end else tdiff(other,&block) end end
def tdiff_each_child(node,&block)
- Yieldparam: node -
Other tags:
- Yield: -
Parameters:
-
node
(Nokogiri::XML::Node
) --
def tdiff_each_child(node,&block) if node.kind_of?(Nokogiri::XML::Element) node.attribute_nodes.sort_by(&:name).each(&block) end node.children.each(&block) end
def tdiff_equal(node)
-
(Boolean)
-
Parameters:
-
node
(Nokogiri::XML::Node
) --
def tdiff_equal(node) if (self.class == node.class) case node when Nokogiri::XML::Attr (self.name == node.name && self.value == node.value) when Nokogiri::XML::Element, Nokogiri::XML::DTD self.name == node.name when Nokogiri::XML::Text, Nokogiri::XML::Comment self.text == node.text when Nokogiri::XML::ProcessingInstruction (self.name == node.name && self.content == node.content) else false end else false end end