search: switch to new tag search parser in a few places.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user