Use in_order_of in trends/* classes (#33531)

This commit is contained in:
Matt Jankowski 2025-01-10 04:33:07 -05:00 committed by GitHub
parent e0f6292492
commit 4f6edc7596
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 94 additions and 6 deletions

View file

@ -16,7 +16,7 @@ class Trends::Links < Trends::Base
class Query < Trends::Query
def to_arel
scope = PreviewCard.joins(:trend).reorder(score: :desc)
scope = scope.reorder(language_order_clause.desc, score: :desc) if preferred_languages.present?
scope = scope.merge(language_order_clause) if preferred_languages.present?
scope = scope.merge(PreviewCardTrend.allowed) if @allowed
scope = scope.offset(@offset) if @offset.present?
scope = scope.limit(@limit) if @limit.present?
@ -26,7 +26,7 @@ class Trends::Links < Trends::Base
private
def language_order_clause
Arel::Nodes::Case.new.when(PreviewCardTrend.arel_table[:language].in(preferred_languages)).then(1).else(0)
language_order_for(PreviewCardTrend)
end
end