adding can method to Active Record for fetching records matching a specific ability, still needs documentation

This commit is contained in:
Ryan Bates
2010-04-15 17:04:36 -07:00
parent baeef0b9dd
commit 3c68a911d0
4 changed files with 45 additions and 0 deletions

View File

@@ -11,3 +11,4 @@ require 'cancan/ability'
require 'cancan/controller_resource'
require 'cancan/resource_authorization'
require 'cancan/controller_additions'
require 'cancan/active_record_additions'

View File

@@ -0,0 +1,20 @@
module CanCan
# This module is automatically included into all Active Record.
module ActiveRecordAdditions
module ClassMethods
def can(ability, action)
where(ability.conditions(action, self) || {:id => nil})
end
end
def self.included(base)
base.extend ClassMethods
end
end
end
if defined? ActiveRecord
ActiveRecord::Base.class_eval do
include CanCan::ActiveRecordAdditions
end
end