Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Friend system for muck

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 db
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 MIT-LICENSE
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 muck-friends.gemspec

Muck Friends


The muck friends engine is part of the muck framework and relies upon the muck-engine, muck-users and muck-profiles gems. These gems should be installed automatically when you install the muck-friends gem. Refer to the documentation for each to setup configuration. The muck-activities gem is optional. If it is installed and enable_friend_activity is true then friend and follow activity will be fed into the user's activity feeds

Add this to your Gemfile:

gem 'muck-friends'

Add an initializer with the following:

MuckFriends.configure do |config|
  # Friend Configuration
  # The friend system provides a hybrid friend/follow model.  Either mode can be turned off or both can be enabled
  # If only following is enabled then users will be provided the ability to follow, unfollow, and block
  # If only friending is enabled then users will be provided a 'friend request' link and the ability to accept friend requests
  # If both modes are are enabled then users will be able to follow other users.  A mutual follow results in 'friends'.  An unfollow 
  # leaves the other party as just a follower.
  # Note that at least one mode must be enabled.
  config.enable_following = true   # Turn on 'following'.  This is similar to the 'follow' functionality on Twitter in that it let's users watch one 
                                  # another's activities without having explicit permission from the user.  A mutual follow essentially becomes a
                                  # friendship.
  config.enable_following = true
  config.enable_friending = true         # Turn on friend system.
  config.enable_friend_activity = true   # If true then friend related activity will show up in the activity feed.  Requires muck-activities gem

Also be sure to configure the other muck gems that muck friends depends on. Look at test/config/initializers/muck.rb for an example.


You will need a friend model that has 'include MuckFriends::Models::MuckFriend' and a user model that has 'include MuckFriends::Models::MuckUser'


After installing the gem just create a friend model thus:

class Friend < ActiveRecord::Base  
  include MuckFriends::Models::MuckFriend
  include MuckActivities::Models::MuckActivityConsumer  # requires the muck-activities gem

and a user model thus:

class User < ActiveRecord::Base
  include MuckUsers::Models::MuckUser
  include MuckFriends::Models::MuckUser
  include MuckProfiles::Models::MuckUser
  include MuckActivities::Models::MuckActivityConsumer # requires the muck-activities gem

Copyright © 2009-2010 Tatemae, released under the MIT license

Something went wrong with that request. Please try again.