17 lines
458 B
Ruby
17 lines
458 B
Ruby
module ActiveRecordRelationPrependOrder
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
def prepend_order(*args)
|
|
new_orders = args.flatten.map { |arg| arg.is_a?(String) ? arg : arg.to_sql }
|
|
|
|
spawn.tap do |relation|
|
|
relation.order_values = new_orders + order_values
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
ActiveRecord::Relation.include(ActiveRecordRelationPrependOrder)
|
|
ActiveRecord::AssociationRelation.include(ActiveRecordRelationPrependOrder)
|