aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-09-04 09:56:55 +0100
committerJon Leighton <j@jonathanleighton.com>2011-09-04 09:56:55 +0100
commitef7e60f008aab5b6390f44ae8f5923edcdf470b8 (patch)
tree411cf98eba2a77fcfc90029568eb928782156ec4 /activerecord
parent98c3fd87e2879ab2fb9c8cd31afacae5e7110325 (diff)
downloadrails-ef7e60f008aab5b6390f44ae8f5923edcdf470b8.tar.gz
rails-ef7e60f008aab5b6390f44ae8f5923edcdf470b8.tar.bz2
rails-ef7e60f008aab5b6390f44ae8f5923edcdf470b8.zip
Revert "Fixes bug in ActiveRecord::QueryMethods, #1697"
This reverts commit 0df27c98d982ec87d2fb48cfda82694eb267993e. Reverted due to failing test, see #2845.
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb6
-rw-r--r--activerecord/test/cases/relations_test.rb5
2 files changed, 4 insertions, 7 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 355540782f..7eda9ad8e8 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -305,8 +305,10 @@ module ActiveRecord
when Arel::Nodes::Ordering
o.reverse
when String, Symbol
- s = o.to_s.gsub(/\s((desc)|(asc))\s*(,|\Z)/i) { |m| " #{$2 ? 'ASC' : 'DESC'}#{$4}" }
- s.match(/\s(de|a)sc\Z/i) ? s : s.concat(" DESC")
+ o.to_s.split(',').collect do |s|
+ s.strip!
+ s.gsub!(/\sasc\Z/i, ' DESC') || s.gsub!(/\sdesc\Z/i, ' ASC') || s.concat(' DESC')
+ end
else
o
end
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb
index c3bad58174..da96afd718 100644
--- a/activerecord/test/cases/relations_test.rb
+++ b/activerecord/test/cases/relations_test.rb
@@ -934,11 +934,6 @@ class RelationTest < ActiveRecord::TestCase
assert_equal 'zyke', FastCar.order_using_old_style.limit(1).first.name
end
- def test_order_with_function_and_last
- authors = Author.scoped
- assert_equal authors(:bob), authors.order( "id asc, COALESCE( organization_id, owned_essay_id)" ).last
- end
-
def test_order_using_scoping
car1 = CoolCar.order('id DESC').scoping do
CoolCar.find(:first, :order => 'id asc')