Class: XmlComparer

Inherits:
Object
  • Object
show all
Defined in:
lib/enhance_repo/xml_comparer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ XmlComparer

Returns a new instance of XmlComparer.



17
18
19
20
21
# File 'lib/enhance_repo/xml_comparer.rb', line 17

def initialize(options = {})
  options.symbolize_keys!
  @custom_matcher = options.delete(:custom_matcher)
  @show_messages = options.delete(:show_messages)
end

Instance Attribute Details

#different_nodesObject (readonly)

Returns the value of attribute different_nodes.



15
16
17
# File 'lib/enhance_repo/xml_comparer.rb', line 15

def different_nodes
  @different_nodes
end

#missing_nodesObject (readonly)

Returns the value of attribute missing_nodes.



15
16
17
# File 'lib/enhance_repo/xml_comparer.rb', line 15

def missing_nodes
  @missing_nodes
end

#superfluous_nodesObject (readonly)

Returns the value of attribute superfluous_nodes.



15
16
17
# File 'lib/enhance_repo/xml_comparer.rb', line 15

def superfluous_nodes
  @superfluous_nodes
end

Instance Method Details

#compare(target, sample) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/enhance_repo/xml_comparer.rb', line 22

def compare(target, sample)
  @target_doc = Nokogiri::XML::Document.parse(target, nil, nil, Nokogiri::XML::ParseOptions::NOBLANKS)
  @sample_doc = Nokogiri::XML::Document.parse(sample, nil, nil, Nokogiri::XML::ParseOptions::NOBLANKS)
  @missing_nodes = []
  @different_nodes = []
  @superfluous_nodes = []
  standard_traverse_and_compare
  reverse_traverse_and_compare
  p result_messages if @show_messages
  are_equal?
end

#result_messagesObject



34
35
36
37
38
# File 'lib/enhance_repo/xml_comparer.rb', line 34

def result_messages
  missing_result_messages
  superfluous_nodes_messages
  different_nodes_messages
end