Class: LibXML::XML::Node
- Inherits:
-
Object
- Object
- LibXML::XML::Node
- Defined in:
- lib/class_extensions.rb
Instance Method Summary collapse
- #elements ⇒ Object
- #equals?(node2) ⇒ Boolean
-
#simpifation_of?(node2) ⇒ Boolean
if node2 contains at least all that I do.
Instance Method Details
#elements ⇒ Object
2 3 4 5 6 |
# File 'lib/class_extensions.rb', line 2 def elements result = [] each_element { |e| result << e } return result end |
#equals?(node2) ⇒ Boolean
33 34 35 |
# File 'lib/class_extensions.rb', line 33 def equals?(node2) simpifation_of?(node2) and node2.simpifation_of?(self) end |
#simpifation_of?(node2) ⇒ Boolean
if node2 contains at least all that I do
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/class_extensions.rb', line 8 def simpifation_of?(node2) return false if (self.name != node2.name) self.attributes.each do |attr| return false unless node2.attributes[attr.name] == attr.value end elems1 = self.elements elems2 = node2.elements return false if (elems1.length != elems2.length) elems1.length.times do |i| unless case elems1[i].node_type_name when 'text' (elems1[i].to_s == elems2[i].to_s) when 'element' elems1[i].simpifation_of?(elems2[i]) else true end then return false end end return true end |