Rails Plugin: Acts As Follower
Followers are the new friends. Apps such as Twitter and Github have effectively enabled virtual stalking within their apps. So how can you do this easily without wasting time with your own join tables? Acts_As_Follower to the rescue!
Install
./script/plugin install git://github.com/tcocca/acts_as_follower.git
Usage
A service like Twitter would have a user
model, which would be both a follower and followable…
class User < ActiveRecord::Base
acts_as_follower
acts_as_followable
end
# In the console...
user1.follow(user2)
# Get the users following user2
user2.followers # => # Array containing user1
# Get the users user1 is following
user1.following # => Array containing user2
# Check following
user1.following?(user2) # => true
user2.following?(user1) # => false
# Stop following
user1.stop_following(user2)
Acts_As_Follower allows heterogeneous follow relationships too, so a user could follow repositories and users, say, in an application like Github.
This plugin saved me a lot of time during the start-up of a recent project, and it hopefully should do the same for you. For more usage examples, see the README.