# File lib/puppet/provider/zpool/solaris.rb, line 7
 7:     def process_zpool_data(pool_array)
 8:         if pool_array == []
 9:             return Hash.new(:absent)
10:         end
11:         #get the name and get rid of it
12:         pool = Hash.new
13:         pool[:pool] = pool_array[0]
14:         pool_array.shift
15: 
16:         tmp = []
17: 
18:         #order matters here :(
19:         pool_array.reverse.each do |value|
20:             sym = nil
21:             case value
22:             when "spares"; sym = :spare
23:             when "logs"; sym = :log
24:             when "mirror", "raidz1", "raidz2"
25:                 sym = value == "mirror" ? :mirror : :raidz
26:                 pool[:raid_parity] = "raidz2" if value == "raidz2"
27:             else
28:                 tmp << value
29:                 sym = :disk if value == pool_array.first
30:             end
31: 
32:             if sym
33:                 pool[sym] = pool[sym] ? pool[sym].unshift(tmp.reverse.join(' ')) : [tmp.reverse.join(' ')]
34:                 tmp.clear
35:             end
36:         end
37: 
38:         pool
39:     end