aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/query_methods.rb
diff options
context:
space:
mode:
authorErnie Miller <ernie@erniemiller.org>2013-07-14 13:53:38 -0400
committerErnie Miller <ernie@erniemiller.org>2013-07-14 13:53:38 -0400
commite2d82508148fc4e3d507f70ed236414a75c58672 (patch)
tree264d32e6001da1a93cbcdcf8164c3ea17ebb7ada /activerecord/lib/active_record/relation/query_methods.rb
parent9fbdd9d83e8e2775845cbc581e0c357f99d292e4 (diff)
downloadrails-e2d82508148fc4e3d507f70ed236414a75c58672.tar.gz
rails-e2d82508148fc4e3d507f70ed236414a75c58672.tar.bz2
rails-e2d82508148fc4e3d507f70ed236414a75c58672.zip
Blacklist->whitelist for reference scans in order!
Stop special-casing Arel::Nodes as exempt from reference scanning in order. Instead, only scan order values that are strings for a table reference.
Diffstat (limited to 'activerecord/lib/active_record/relation/query_methods.rb')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 1327cc3c34..a27b6abe2e 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -280,7 +280,7 @@ module ActiveRecord
args.flatten!
validate_order_args args
- references = args.reject { |arg| Arel::Node === arg }
+ references = args.grep(String)
references.map! { |arg| arg =~ /^([a-zA-Z]\w*)\.(\w+)/ && $1 }.compact!
references!(references) if references.any?