Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
CanCan extension with role oriented permission management, rules caching and much more
Pull request Compare This branch is even with kristianmandrup:cantango-1x.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.document
.gitignore
.rspec
Gemfile
LICENSE.txt
README.mdown
Rakefile
VERSION
cantango.gemspec

README.mdown

CanTango

CanTango is an advanced Access Control (permissions) system for Rails 3. It:

  • extends CanCan to support more advanced scenarios
  • integrates with role and authentication systems in a non-intrusive manner
  • can cache ability rules between requests for increased performance
  • can store abilites in a permission store, including a YAML file, for easy administration
  • works well with multiple user accounts (and sub-applications)
  • supports multiple Devise users

Will CanTango meet my Access Control (permission) requirements?

Status Dec 1 2011

CanTango 1.x is currently under development. We expect to have a release by year end of 2011 or in January 2012 (hopefully). Please help support this project and help add specs, come with suggestions, improve the code etc.

Installation

CanTango has been tested to work with Ruby 1.9+ and currently doesn't support Ruby 1.8.7 If you require ruby 1.8.7 support, please help patch it and make a pull request ;)

Install in Ruby environment (or gem set)

gem install cantango

Install in Rails application

Insert into Gemfile of your Rails application:

gem 'cantango'

If you want to live on the edge and use the latest master branch, use the :git option. To designate a specific branch, use the :branch option. You can also clone this project and reference your local copy (easier to debug/fix) by using the :path option (see Bundler documentation).

Run bundler in a terminal/console from the folder of your Gemfile (root folder of the app)

$ bundle

CanTango components

CanTango has now been split up into these logical components:

Engines (Ability executors):

Cantango:

Currently the cantango-1x branch

Quickstart

See the Quickstart guide in the wiki.

For devise integration, see Quickstart CanTango with Devise

The following scenarios demonstrate some of the problems CanTango can help solve in an elegant way

Generators

Cantango comes with a set of Generators to get your app dancing...

Install CanTango using

  • cantango:install

$ rails g cantango:install

Configuration

The CanTango Configuration consists of a nice nested configuration DSL.

You need help?

Please post ideas, questions etc. in the cantango group on Google.

Bugs, issues or feature request/ideas?

If you encounter bugs, raise an issue or:

  • 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.

Contributors

Copyright

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

Something went wrong with that request. Please try again.