search: switch to new tag search parser in a few places.

This commit is contained in:
evazion
2022-03-29 05:07:31 -05:00
parent 4c7cfc73c6
commit 823fa5c6e9
3 changed files with 23 additions and 8 deletions

View File

@@ -4,7 +4,7 @@ class PostQuery
extend Memoist
attr_reader :search, :parser, :ast
delegate :tag_names, to: :ast
delegate :tag_names, :metatags, to: :ast
def initialize(search)
@search = search
@@ -16,5 +16,21 @@ class PostQuery
Tag.where(name: tag_names)
end
def is_single_tag?
ast.tag?
end
def select_metatags(*names)
metatags.select { |metatag| metatag.name.in?(names.map(&:to_s).map(&:downcase)) }
end
def has_metatag?(*names)
select_metatags(*names).present?
end
def find_metatag(*names)
select_metatags(*names).first&.value
end
memoize :tags
end