From 5799b1bdbe0c9baa1a2b40931a28c1bf17919110 Mon Sep 17 00:00:00 2001 From: Thayol Date: Tue, 4 Jan 2022 21:02:15 +0100 Subject: [PATCH] Remove double looping --- app/logical/post_query_builder.rb | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/app/logical/post_query_builder.rb b/app/logical/post_query_builder.rb index ebe6ee6b5..d0b9209a2 100644 --- a/app/logical/post_query_builder.rb +++ b/app/logical/post_query_builder.rb @@ -117,24 +117,19 @@ class PostQueryBuilder end def metatags_match(metatags, relation) - fix_negated_ordered_metatags(metatags) - metatags.each do |metatag| - clause = metatag_matches(metatag.name, metatag.value, quoted: metatag.quoted) - clause = clause.negate_relation if metatag.negated - relation = relation.and_relation(clause) - end - - relation - end - - def fix_negated_ordered_metatags(metatag) metatags.each do |metatag| if metatag.negated metatag.name = "fav" if metatag.name == "ordfav" metatag.name = "favgroup" if metatag.name == "ordfavgroup" metatag.name = "pool" if metatag.name == "ordpool" end + + clause = metatag_matches(metatag.name, metatag.value, quoted: metatag.quoted) + clause = clause.negate_relation if metatag.negated + relation = relation.and_relation(clause) end + + relation end def metatag_matches(name, value, quoted: false)