lib/roku_builder/plugins/profiler.rb in roku_builder-4.0.1 vs lib/roku_builder/plugins/profiler.rb in roku_builder-4.1.0

- old
+ new

@@ -39,21 +39,22 @@ end_reg = /<\/All_Nodes>/ start_reg = /<All_Nodes>/ lines = get_command_response(command: "sgnodes all", start_reg: start_reg, end_reg: end_reg) xml_string = lines.join("\n") stats = {"Total" => 0} - doc = Nokogiri::XML(xml_string) - handle_node(stats: stats, node: doc.root) + doc = Oga.parse_xml(xml_string) + handle_node(stats: stats, node: doc.children.first) stats = stats.to_a stats = stats.sort {|a, b| b[1] <=> a[1]} printf "%30s | %5s\n", "Name", "Count" stats.each do |key_pair| printf "%30s | %5d\n", key_pair[0], key_pair[1] end end def handle_node(stats:, node:) - node.element_children.each do |element| + node.children.each do |element| + next unless element.class == Oga::XML::Element stats[element.name] ||= 0 stats[element.name] += 1 stats["Total"] += 1 handle_node(stats: stats, node: element) end