class Hash

inverse from Tilo Sloboda (now in facets)

Public Instance Methods

inverse() click to toggle source
# File lib/hash/inverse.rb, line 6
def inverse
  i = Hash.new
  self.each_pair do |k,v|
    if (Array === v) ; v.each{ |x| i[x] = ( i.has_key?(x) ? [k,i[x]].flatten : k ) }
    else ; i[v] = ( i.has_key?(v) ? [k,i[v]].flatten : k ) end
  end ; i  
end