adding can method to Active Record for fetching records matching a specific ability, still needs documentation
This commit is contained in:
@@ -11,3 +11,4 @@ require 'cancan/ability'
|
||||
require 'cancan/controller_resource'
|
||||
require 'cancan/resource_authorization'
|
||||
require 'cancan/controller_additions'
|
||||
require 'cancan/active_record_additions'
|
||||
|
||||
20
lib/cancan/active_record_additions.rb
Normal file
20
lib/cancan/active_record_additions.rb
Normal 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
|
||||
Reference in New Issue
Block a user