skip block when only class is passed to ability check, also don't pass class to block for :all - closes #116
This commit is contained in:
@@ -25,7 +25,7 @@ module CanCan
|
||||
|
||||
# Matches the block or conditions hash
|
||||
def matches_conditions?(action, subject, extra_args)
|
||||
if @block
|
||||
if @block && subject.class != Class
|
||||
call_block(action, subject, extra_args)
|
||||
elsif @conditions.kind_of?(Hash) && subject.class != Class
|
||||
matches_conditions_hash?(subject)
|
||||
@@ -95,7 +95,6 @@ module CanCan
|
||||
def call_block(action, subject, extra_args)
|
||||
block_args = []
|
||||
block_args << action if @expanded_actions.include?(:manage)
|
||||
block_args << (subject.class == Class ? subject : subject.class) if @subjects.include?(:all)
|
||||
block_args << (subject.class == Class ? nil : subject)
|
||||
block_args += extra_args
|
||||
@block.call(*block_args)
|
||||
|
||||
Reference in New Issue
Block a user