From cf263c105d953047240f056acc977ff10fdca648 Mon Sep 17 00:00:00 2001 From: Ramon Tayag Date: Tue, 2 Nov 2010 10:57:45 +0800 Subject: [PATCH] checks if active record responds to 'joins', so this can work with internuity's quick_scopes gem; added .swp files to git ignore --- .gitignore | 2 ++ lib/cancan/active_record_additions.rb | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0c14ba2..6035d85 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +*.swp +**/*.swp *.gem Gemfile.lock .bundle diff --git a/lib/cancan/active_record_additions.rb b/lib/cancan/active_record_additions.rb index 24f03ae..fb7c095 100644 --- a/lib/cancan/active_record_additions.rb +++ b/lib/cancan/active_record_additions.rb @@ -21,7 +21,7 @@ module CanCan # internally uses Ability#conditions method, see that for more information. def accessible_by(ability, action = :read) query = ability.query(action, self) - if respond_to? :where + if respond_to?(:where) && respond_to?(:joins) where(query.conditions).joins(query.joins) else scoped(:conditions => query.conditions, :joins => query.joins)