Skip to content
Browse files

use 'send' to access controller current_ability in case it's private

  • Loading branch information...
1 parent 3391c5a commit 1f81b8dd1e8255fb7b0499b1443a4d1fafcecfd7 @ryanb committed Sep 23, 2010
Showing with 9 additions and 5 deletions.
  1. +2 −2 CHANGELOG.rdoc
  2. +7 −3 lib/cancan/controller_resource.rb
View
4 CHANGELOG.rdoc
@@ -10,9 +10,9 @@
* Abilities can be defined with a string of SQL in addition to a block so accessible_by works with a block - see issue #150
-* Adding etter support for InheritedResource - see issue #23
+* Adding better support for InheritedResource - see issue #23
-* Loading the collection instance variable with accessible_by - see issue #137
+* Loading the collection instance variable (for index action) using accessible_by - see issue #137
* Adding action and subject variables to I18n unauthorized message - closes #142
View
10 lib/cancan/controller_resource.rb
@@ -53,11 +53,11 @@ def load_resource_instance
def load_collection?
resource_base.respond_to?(:accessible_by) &&
- !@controller.current_ability.has_block?(authorization_action, resource_class)
+ !current_ability.has_block?(authorization_action, resource_class)
end
def load_collection
- resource_base.accessible_by(@controller.current_ability)
+ resource_base.accessible_by(current_ability)
end
def build_resource
@@ -70,7 +70,7 @@ def build_resource
end
def initial_attributes
- @controller.current_ability.attributes_for(@params[:action].to_sym, resource_class)
+ current_ability.attributes_for(@params[:action].to_sym, resource_class)
end
def find_resource
@@ -156,6 +156,10 @@ def fetch_parent(name)
end
end
+ def current_ability
+ @controller.send(:current_ability)
+ end
+
def name
@name || name_from_controller
end

0 comments on commit 1f81b8d

Please sign in to comment.
Something went wrong with that request. Please try again.