Skip to content
This repository has been archived by the owner on Dec 12, 2021. It is now read-only.

Commit

Permalink
renaming skip_authorization to skip_authorization_check - closes #169
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanb committed Nov 12, 2010
1 parent 92995d7 commit 787511a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
12 changes: 8 additions & 4 deletions lib/cancan/controller_additions.rb
Expand Up @@ -176,28 +176,32 @@ def authorize_resource(*args)
#
# Any arguments are passed to the +after_filter+ it triggers.
#
# See skip_authorization to bypass this check on specific controller actions.
# See skip_authorization_check to bypass this check on specific controller actions.
def check_authorization(*args)
self.after_filter(*args) do |controller|
unless controller.instance_variable_defined?(:@_authorized)
raise AuthorizationNotPerformed, "This action failed the check_authorization because it does not authorize_resource. Add skip_authorization to bypass this check."
raise AuthorizationNotPerformed, "This action failed the check_authorization because it does not authorize_resource. Add skip_authorization_check to bypass this check."
end
end
end

# Call this in the class of a controller to skip the check_authorization behavior on the actions.
#
# class HomeController < ApplicationController
# skip_authorization :only => :index
# skip_authorization_check :only => :index
# end
#
# Any arguments are passed to the +before_filter+ it triggers.
def skip_authorization(*args)
def skip_authorization_check(*args)
self.before_filter(*args) do |controller|
controller.instance_variable_set(:@_authorized, true)
end
end

def skip_authorization(*args)
raise ImplementationRemoved, "The CanCan skip_authorization method has been renamed to skip_authorization_check. Please update your code."
end

def cancan_resource_class
if ancestors.map(&:to_s).include? "InheritedResources::Actions"
InheritedResource
Expand Down
4 changes: 2 additions & 2 deletions spec/cancan/controller_additions_spec.rb
Expand Up @@ -54,9 +54,9 @@
@controller_class.load_resource :foo => :bar, :only => [:show, :index]
end

it "skip_authorization should set up a before filter which sets @_authorized to true" do
it "skip_authorization_check should set up a before filter which sets @_authorized to true" do
mock(@controller_class).before_filter(:filter_options) { |options, block| block.call(@controller) }
@controller_class.skip_authorization(:filter_options)
@controller_class.skip_authorization_check(:filter_options)
@controller.instance_variable_get(:@_authorized).should be_true
end

Expand Down

0 comments on commit 787511a

Please sign in to comment.