Multimap
A Ruby multimap implementation that also includes multiset and nested multimap implementations.
Example
require 'multimap'
map = Multimap.new
map["a"] = 100
map["b"] = 200
map["a"] = 300
map["a"] # -> [100, 300]
map["b"] # -> [200]
map.keys # -> #<Multiset: {"a", "a", "b"}>