Sha256: 0f0227e05c0c39b5b47b8a706c7d5429aea87efde7c611702194bab4f0e68e63

Contents?: true

Size: 867 Bytes

Versions: 12

Compression:

Stored size: 867 Bytes

Contents

module CompositePrimaryKeys
  module ActiveRecord
    module QueryMethods
      def reverse_sql_order(order_query)
        # CPK
        # order_query = ["#{quoted_table_name}.#{quoted_primary_key} ASC"] if order_query.empty?

        # break apart CPKs
        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
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
composite_primary_keys-10.0.5 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-9.0.10 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-10.0.4 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-9.0.9 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-10.0.3 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-10.0.2 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-10.0.1 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-9.0.8 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-10.0.0 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-9.0.7 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-9.0.6 lib/composite_primary_keys/relation/query_methods.rb
composite_primary_keys-9.0.5 lib/composite_primary_keys/relation/query_methods.rb