method
reverse_sql_order
v5.0.0.1 -
Show latest stable
- Class:
ActiveRecord::QueryMethods
reverse_sql_order(order_query)private
No documentation available.
# File activerecord/lib/active_record/relation/query_methods.rb, line 1116
def reverse_sql_order(order_query)
if order_query.empty?
return [arel_attribute(primary_key).desc] if primary_key
raise IrreversibleOrderError,
"Relation has no current order and table has no primary key to be used as default order"
end
order_query.flat_map do |o|
case o
when Arel::Attribute
o.desc
when Arel::Nodes::Ordering
o.reverse
when String
if does_not_support_reverse?(o)
raise IrreversibleOrderError, "Order #{o.inspect} can not be reversed automatically"
end
o.split(',').map! do |s|
s.strip!
s.gsub!(/\sasc\Z/, ' DESC') || s.gsub!(/\sdesc\Z/, ' ASC') || s.concat(' DESC')
end
else
o
end
end
end