let's not run 3 queries, when a single query will do.

This commit is contained in:
Sam 2013-07-30 09:54:29 +10:00
parent 7661a5fed2
commit 8ec6d0ea6c
1 changed files with 9 additions and 7 deletions

View File

@ -12,17 +12,19 @@ class SuggestedTopicsBuilder
def add_results(results)
return if results.blank?
# WARNING .blank? will execute an Active Record query
return unless results
# Only add results if we don't have those topic ids already
results = results.where('topics.id NOT IN (?)', @excluded_topic_ids)
.where(closed: false, archived: false, visible: true)
.to_a
return if results.blank?
# Keep track of the ids we've added
@excluded_topic_ids.concat results.map {|r| r.id}
@results.concat results
unless results.empty?
# Keep track of the ids we've added
@excluded_topic_ids.concat results.map {|r| r.id}
@results.concat results
end
end
def results_left
@ -37,4 +39,4 @@ class SuggestedTopicsBuilder
@results.size
end
end
end