# File lib/map.rb, line 854 def Map.explode(hash) accum = {:branches => [], :leaves => []} hash.each do |key, value| Map._explode(key, value, accum) end branches = accum[:branches] leaves = accum[:leaves] sort_by_key_size = proc{|a,b| a.first.size <=> b.first.size} branches.sort!(&sort_by_key_size) leaves.sort!(&sort_by_key_size) accum end