Sha256: 737e6cb3c8378b9468c9e4bb18b4eb42dc7ee05d9f653c87654eaf8a932b8105
Contents?: true
Size: 878 Bytes
Versions: 6
Compression:
Stored size: 878 Bytes
Contents
module Redwood class ContactManager include Singleton def initialize fn @fn = fn @people = {} if File.exists? fn IO.foreach(fn) do |l| l =~ /^(\S+): (.*)$/ or raise "can't parse #{fn} line #{l.inspect}" aalias, addr = $1, $2 @people[aalias] = Person.for addr end end self.class.i_am_the_instance self end def contacts; @people; end def set_contact person, aalias oldentry = @people.find { |a, p| p == person } @people.delete oldentry.first if oldentry @people[aalias] = person end def drop_contact person; @people.delete person; end def delete t; @people.delete t; end def resolve aalias; @people[aalias]; end def save File.open(@fn, "w") do |f| @people.keys.sort.each do |aalias| f.puts "#{aalias}: #{@people[aalias].full_address}" end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
sup-0.0.6 | lib/sup/contact.rb |
sup-0.0.5 | lib/sup/contact.rb |
sup-0.0.4 | lib/sup/contact.rb |
sup-0.0.3 | lib/sup/contact.rb |
sup-0.0.1 | lib/sup/contact.rb |
sup-0.0.2 | lib/sup/contact.rb |