fixing marking fully_authorized on an object instance

This commit is contained in:
Ryan Bates 2011-03-25 17:05:36 -07:00
parent baa1dacc21
commit e5b76210e4
2 changed files with 5 additions and 0 deletions

View File

@ -264,6 +264,7 @@ module CanCan
end
def fully_authorized!(action, subject)
subject = subject.class.to_s.underscore.pluralize.to_sym unless subject.kind_of?(Symbol) || subject.kind_of?(String)
@fully_authorized ||= []
@fully_authorized << [action.to_sym, subject.to_sym]
end

View File

@ -261,6 +261,8 @@ describe CanCan::Ability do
@ability.should_not be_fully_authorized(:update, :ranges)
@ability.authorize! "update", "ranges"
@ability.should_not be_fully_authorized(:update, :ranges)
@ability.authorize! :update, 1..3
@ability.should be_fully_authorized(:update, :ranges)
end
it "is not fully authorized when a block exists but no instance is used" do
@ -269,6 +271,8 @@ describe CanCan::Ability do
end
@ability.authorize! :update, :ranges
@ability.should_not be_fully_authorized(:update, :ranges)
@ability.authorize! :update, 1..3
@ability.should be_fully_authorized(:update, :ranges)
end
it "is not fully authorized when attributes are required but not checked in update/create actions" do