search: refactor PostQueryBuilder class methods into instance methods.

* Make scan_query, parse_query, normalize_query into instance methods
  instead of class methods. This is to a) clean up the API and b)
  prepare for moving certain tag utility methods into PostQueryBuilder.

* Fix a few cases where a caller used scan_query when they should have
  used split_query or parse_tag_edit.
This commit is contained in:
evazion
2020-04-22 19:38:17 -05:00
parent d355c0e221
commit 3dab648d0e
10 changed files with 534 additions and 532 deletions

View File

@@ -136,17 +136,17 @@ class SavedSearch < ApplicationRecord
def queries_for(user_id, label: nil, options: {})
searches = SavedSearch.where(user_id: user_id)
searches = searches.labeled(label) if label.present?
queries = searches.pluck(:query).map { |query| PostQueryBuilder.normalize_query(query, sort: true) }
queries = searches.pluck(:query).map { |query| PostQueryBuilder.new(query).normalize_query(sort: true) }
queries.sort.uniq
end
end
def normalized_query
PostQueryBuilder.normalize_query(query, sort: true)
PostQueryBuilder.new(query).normalize_query(sort: true)
end
def normalize_query
self.query = PostQueryBuilder.normalize_query(query, sort: false)
self.query = PostQueryBuilder.new(query).normalize_query(sort: false)
end
end