Sha256: 1c5f7f0a2fa7b234e8b79388a892733a1fc06d1cc2eeb0227c2ff452a4f2fca1
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
module CompositePrimaryKeys module ActiveRecord module QueryMethods def reverse_sql_order(order_query) if order_query.empty? # CPK # return [arel_attribute(primary_key).desc] if primary_key if primary_key # break apart CPKs return primary_key.map do |key| arel_attribute(key).desc end else raise IrreversibleOrderError, "Relation has no current order and table has no primary key to be used as default order" end 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/i, " DESC") || s.gsub!(/\sdesc\Z/i, " ASC") || (s << " DESC") end else o end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
composite_primary_keys-11.0.0.rc2 | lib/composite_primary_keys/relation/query_methods.rb |