adding cannot method to define which abilities cannot be done - closes #7
This commit is contained in:
@@ -106,4 +106,21 @@ describe CanCan::Ability do
|
||||
@ability.can?(:update, :stats).should be_false
|
||||
@ability.can?(:read, :nonstats).should be_false
|
||||
end
|
||||
|
||||
it "should support 'cannot' method to define what user cannot do" do
|
||||
@ability.can :read, :all
|
||||
@ability.cannot :read, Integer
|
||||
@ability.can?(:read, "foo").should be_true
|
||||
@ability.can?(:read, 123).should be_false
|
||||
end
|
||||
|
||||
it "should support block on 'cannot' method" do
|
||||
@ability.can :read, :all
|
||||
@ability.cannot :read, Integer do |int|
|
||||
int > 5
|
||||
end
|
||||
@ability.can?(:read, "foo").should be_true
|
||||
@ability.can?(:read, 3).should be_true
|
||||
@ability.can?(:read, 123).should be_false
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user