8 @p2a = {} # person to alias map
9 @a2p = {} # alias to person map
13 l =~ /^(\S+): (.*)$/ or raise "can't parse #{fn} line #{l.inspect}"
21 self.class.i_am_the_instance self
24 def contacts; @p2a.keys; end
25 def set_contact person, aalias
26 if(pold = @a2p[aalias]) && (pold != person)
32 def drop_contact person
33 if(aalias = @p2a[person])
38 def person_with aalias; @a2p[aalias]; end
39 def alias_for person; @p2a[person]; end
40 def is_contact? person; @p2a.member? person; end
42 File.open(@fn, "w") do |f|
44 f.puts "#{a}: #{p.full_address}"