kristianmandrup / roles_mongoid

Roles for mongoid using the Roles generic API from roles_generic
MIT License
29 stars 7 forks source link

h1. Roles for Mongoid

A Mongoid implementation of Roles Generic. See the Roles wiki for an overview of the API and how to use it.

h2. Role strategies

Role strategies implemented:

Inline attribute on User

Reference Role

Embedded Role

h2. Install

gem install roles_mongoid

h3. Install in Rails app

Insert in Gemfile:

gem 'roles_mongoid'

Run $ bundle install from terminal

Alternatively install using Cream

h2. Strategy and roles configuration

Example: _rolestring strategy

class User
  include Mongoid::Document  
  include Roles::Mongoid 

  strategy :one_role
  valid_roles_are :admin, :guest, :user
end  

Example: _onerole strategy

class User
  include Mongoid::Document  
  include Roles::Mongoid 

  strategy :one_role
  valid_roles_are :admin, :guest, :user
end  

h2. Rails generators

The library comes with a Rails 3 generator that lets you populate a user model with a role strategy of your choice.

The following role strategies are included by default. Add your own by adding extra files inside the strategy folder, one file for each role strategy is recommended.

Apply :admin_flag Role strategy to User model using default roles :admin and :guest (default)

$ rails g mongoid:roles User --strategy admin_flag

Apply :admin_flag Role strategy to User model using default roles and extra role :author

$ rails g mongoid:roles_migration User --strategy admin_flag --roles author

Apply :one_role Role strategy to User model without default roles, only with roles :user, :special and :editor

$ rails g mongoid:roles_migration User --strategy one_role --roles user special editor --no-default-roles

h2. Note on Patches/Pull Requests

h2. Copyright

Copyright (c) 2010 Kristian Mandrup. See LICENSE for details.