From 6c266b4c3fd97cc6e4b01b72c3da69ed101cb3c6 Mon Sep 17 00:00:00 2001
From: Aaron Patterson <aaron.patterson@gmail.com>
Date: Thu, 23 Sep 2010 13:48:09 -0700
Subject: reordering order clauses :'(

---
 lib/arel/visitors/postgresql.rb | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'lib/arel')

diff --git a/lib/arel/visitors/postgresql.rb b/lib/arel/visitors/postgresql.rb
index e8aa9b8cb3..87fc3bd60d 100644
--- a/lib/arel/visitors/postgresql.rb
+++ b/lib/arel/visitors/postgresql.rb
@@ -31,7 +31,15 @@ module Arel
 
       def aliased_orders orders
         #orders = o.orders.map { |x| visit x }.join(', ').split(',')
-        (0...orders.size).map { |i| "id_list.alias_#{i}" }
+        list = []
+        orders.each_with_index do |o,i|
+          list <<
+            [
+              "id_list.alias_#{i}",
+              (o.index(/desc/i) && 'DESC')
+            ].compact.join(' ')
+        end
+        list
       end
     end
   end
-- 
cgit v1.2.3