Sha256: 312f2106676085ff5b1fa03ae7fd78577b55bdfbd0045504db8b32604ce70818
Contents?: true
Size: 698 Bytes
Versions: 2
Compression:
Stored size: 698 Bytes
Contents
module Ordy module Orm module ActiveRecord module Orderable class BySpecified # @param [Model::ActiveRecord_Relation] scope # @param [Hash] args (:table, :column) 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 end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ordy-1.1.3 | lib/ordy/orm/active_record/orderable/by_specified.rb |
ordy-1.1.0 | lib/ordy/orm/active_record/orderable/by_specified.rb |