adding controller additions with basic behavior.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
$:.unshift(File.dirname(__FILE__))
|
||||
require 'cancan/ability'
|
||||
require 'cancan/instance_exec'
|
||||
require 'cancan/ability'
|
||||
require 'cancan/controller_additions'
|
||||
|
||||
module CanCan
|
||||
class AccessDenied < StandardError; end
|
||||
end
|
||||
23
lib/cancan/controller_additions.rb
Normal file
23
lib/cancan/controller_additions.rb
Normal file
@@ -0,0 +1,23 @@
|
||||
module CanCan
|
||||
module ControllerAdditions
|
||||
def self.included(base)
|
||||
base.helper_method :can?
|
||||
end
|
||||
|
||||
def unauthorized!
|
||||
raise AccessDenied, "You are unable to access this page."
|
||||
end
|
||||
|
||||
def current_ability
|
||||
::Ability.for_user(current_user)
|
||||
end
|
||||
|
||||
def can?(*args)
|
||||
(@current_ability ||= current_ability).can?(*args)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class ActionController::Base
|
||||
include CanCan::ControllerAdditions
|
||||
end
|
||||
Reference in New Issue
Block a user