JonMidhir / simple_groups

Rails plugin that adds a basic system for creating user maintained groups.

This URL has Read+Write access

README
Simple Groups
========

This plugin creates a group model and relates it to your User model via a has_many :through relationship. It is designed 
for use with restful_authentication but could be used with any User model.

To install:

script/plugin install git://github.com/JonMidhir/simple_groups.git

To use:

script/generate simple_groups Group

If you wish you can rename the last parameter anything you want, but Group is probably the most appropriate! Add 
--skip-migration to avoid creating the migration files.

Add this near the top of your User model:
include_simple_groups

Remember to run the migrations:
rake db:migrate


Usage
=======

These methods are available to your controllers and views after installation, many are self.explanatory!

user.groups
user.pending_groups
user.is_member_of?(group)
user.is_mod_of?(group)
user.request_membership_of(group)
user.pending_and_accepted_groups
user.membership(group)
user.leave(group)
user.become_member_of(group)

The following can be called on the group model.

group.members
group.mods
group.pending_members
group.accept_member(user)
group.pending_and_accepted_members
group.kick(user)
group.mods_online
group.members_online
group.members_offline
group.has_member?(user)

Note that currently the user requests membership of the group and the group accepts membership of the user. It is up to 
you to protect this functionality and restrict it to mods only. If you want your groups to be open use the 
user.become_member_of(group) method.


Copyright (c) 2008 Jon M Hope, released under the MIT license