GateKeeper 0.2 - Model Level Permissions Management

GateKeeper 0.2 is now available.

GateKeeper is a Ruby on Rails plugin providing natural language commands to intuitively manage complex access/security permissions on ActiveRecord models. Permissions may be based on user's system wide roles (Admin, Moderator, Employee of the Month) and on user's relationship to individual records through ActiveRecord associations.

Version 0.2 adds traversal of eagerly loaded associations to verify read permissions on loaded objects.

Rdocs and installation instructions available at http://gatekeeper.rubyforge.org/

As an appetizer, here are some sample permission declarations you can add to your models for GateKeeper to enforce.

class Article < ActiveRecord::Base   crudable_by_admin   crudable_by_my_author   readable_by_supervisor_of_my_author   updateable_by_supervisor_of_my_author :unless => :first_draft?   readable_by_premium_subscriber :if => :published?   destroyable_as_my_author #inherits 'destroy' permissions from author   readable_by_guest :if => lambda { |article| article.published_on < 3.months.ago }   etc. etc. etc