# 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