Roles for Data Mapper

A Data Mapper implementation of roles generic

The following role strategies from Roles Generic are currently supported

  • admin_flag
  • many_roles
  • one_role
  • roles_mask
  • role_string

See roles_active_record and roles generic for more info on using the API.

Install

gem install roles_data_mapper

To install from cloned repo:

This gem is based on Jeweler, so simply:

rake install

Roles Generator

The library comes with a Rails 3 generator that lets you populate a user model with a given role strategy 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.

  • admin_flag
  • many_roles
  • one_role
  • roles_mask
  • role_string

Update Oct 10.

Bugfix: Added dependencies to Rakefile for role generator so they should work out-of-the-box after gem is installed ;)

Usage examples

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

$ rails g data_mapper:roles User --strategy admin_flag

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

$ rails g data_mapper: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 data_mapper:roles_migration User --strategy one_role --roles user special editor --no-default-roles

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

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