ActsAsNetwork is a plugin that we’ve recently extracted from PingMe (
http://gopingme.com ) to simplify the definition and storage of network
relationships between entities using ActiveRecord. It drives the social
networking features of the site.
ActsAsNetwork it special because it uses a single record in an
has_and_belongs_to_many table or has_many :through join model. With one
instance of an association or join model there is no need for reverse
relationship records, association callbacks, or other complexities.
Check it out.
Stephen @ Zetetic