class Laximo::Respond::ListQuickDetail

Public Class Methods

parsing_result(str) click to toggle source
# File lib/laximo/respond/oem/list_quick_detail.rb, line 8
def self.parsing_result(str)

  str.xpath('//ListQuickDetail/Category').inject([]) { |arr, node|

    h = node_to_hash(node) { |h1, n1|

      h1[:unit] = n1.xpath('./Unit').inject([]) { |arr1, n2|

        arr1 << node_to_hash(n2) { |h2, n3|

          h2[:details] = n3.xpath('./Detail').inject([]) { |arr2, n4|

            arr2 << node_to_hash(n4) { |h3, n5|
              h3[:attributes] = nodes_to_hash(n5.xpath('./attribute'))
            }

          }

        }

      }

    }

    arr << h unless h.empty?
    arr

  }

end