Files
fizzy/lib/rails_ext/prepend_order.rb
T
2025-04-11 10:28:12 +02:00

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)