1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #2309 from smasry/master

Unmangaling reverse_sql_order when function is used
This commit is contained in:
Aaron Patterson 2011-07-27 10:26:39 -07:00
commit 9d396ee819
2 changed files with 6 additions and 1 deletions

View file

@ -312,7 +312,7 @@ module ActiveRecord
when String, Symbol when String, Symbol
o.to_s.split(',').collect do |s| o.to_s.split(',').collect do |s|
s.strip! s.strip!
s.gsub!(/\sasc\Z/i, ' DESC') || s.gsub!(/\sdesc\Z/i, ' ASC') || s.concat(' DESC') (s if s =~ /\(/) || s.gsub!(/\sasc\Z/i, ' DESC') || s.gsub!(/\sdesc\Z/i, ' ASC') || s.concat(' DESC')
end end
else else
o o

View file

@ -911,6 +911,11 @@ class RelationTest < ActiveRecord::TestCase
assert_equal 'zyke', FastCar.order_using_old_style.limit(1).first.name assert_equal 'zyke', FastCar.order_using_old_style.limit(1).first.name
end end
def test_order_with_function_and_last
authors = Author.scoped
assert_equal authors(:bob), authors.order( "id asc, MAX( organization_id, owned_essay_id)" ).last
end
def test_order_using_scoping def test_order_using_scoping
car1 = CoolCar.order('id DESC').scoping do car1 = CoolCar.order('id DESC').scoping do
CoolCar.find(:first, :order => 'id asc') CoolCar.find(:first, :order => 'id asc')