# Roles for Data Mapper A Data Mapper implementation of [roles generic](http://github.com/kristianmandrup/roles_generic) ## Update! Now implements the [roles generic](http://github.com/kristianmandrup/roles_generic) Roles API It also implements the following Role strategies: * admin_flag * many_roles * one_role * roles_mask * role_string See [roles_active_record](http://github.com/kristianmandrup/roles_active_record) and [roles generic](http://github.com/kristianmandrup/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 ## Rails 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 *Roles generator* 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 Copyright (c) 2010 Kristian Mandrup. See LICENSE for details.