Module: CompositePrimaryKeys::ActiveRecord::QueryMethods

Defined in:
lib/composite_primary_keys/relation/query_methods.rb

Instance Method Summary collapse

Instance Method Details

#reverse_orderObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/composite_primary_keys/relation/query_methods.rb', line 4

def reverse_order
  order_clause = arel.order_clauses

  # CPK
  # order = order_clause.empty? ?
  #  "#{table_name}.#{primary_key} DESC" :
  #  reverse_sql_order(order_clause).join(', ')

  order = unless order_clause.empty?
    reverse_sql_order(order_clause).join(', ')
  else
    klass.primary_key.map do |key|
      "#{table_name}.#{key} DESC"
    end.join(", ")
  end

  except(:order).order(Arel.sql(order))
end