mm-friendable

A simple MongoMapper plugin to add friendship functionality to your application

Usage

Install the gem

gem install mm-friendable

Or add it to your Gemfile

gem 'mm-friendable'

Then add the friendable plugin to you MongoMapper::Document

class User
  include MongoMapper::Document
  plugin MongoMapper::Plugins::Friendable

  def on_add_friend(friend)
    do something when a friend is added...
  end

  def on_remove_friend(friend)
    do something when a friend is removed...
  end
end

You must implement the on_add_friend and on_remove_friend callbacks! - however they can be empty implementations

@user_1 = User.create
@user_2 = User.create

@user_1.add_friend!(@user_2)

@user_1.following_count #=> 1
@user_1.following #=> [<User>]
@user_1.following.first == @user_2 #=> true

@user_2.followers_count #=> 1
@user_2.followers #=> [<User>]
@user_2.followers.first == @user_1 #=> true

@user_1.following(@user_2) #=> true
@user_2.following(@user_1) #=> false

Contributing to mm-friendable

Copyright © 2010 Luke Cunningham. See LICENSE.txt for further details.