3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/composite_primary_keys/relation/query_methods.rb', line 3
def reverse_sql_order(order_query)
order_query = primary_key.map do |key|
"#{quoted_table_name}.#{connection.quote_column_name(key)} ASC"
end if order_query.empty?
order_query.map do |o|
case o
when Arel::Nodes::Ordering
o.reverse
when String, Symbol
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
end.flatten
end
|