class Ordy::Orm::ActiveRecord::Orderable::BySpecified
Public Class Methods
call(scope, args)
click to toggle source
@param [Model::ActiveRecord_Relation] scope @param [Hash] args (:table, :column)
# File lib/ordy/orm/active_record/orderable/by_specified.rb, line 8 def self.call(scope, args) connection = scope.connection table = connection.quote_table_name(args[:table]) column = connection.quote_column_name(args[:column]) values = args[:values].map { |value| connection.quote(value) } sql = values.map { |value| "#{table}.#{column}=#{value} DESC" }.join(',') connection.quote(sql) scope.order(Arel.sql(sql)) end