about summary refs log tree commit diff
path: root/app/services/hashtag_query_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/hashtag_query_service.rb')
-rw-r--r--app/services/hashtag_query_service.rb11
1 files changed, 5 insertions, 6 deletions
diff --git a/app/services/hashtag_query_service.rb b/app/services/hashtag_query_service.rb
index 86558a446..5773d78c6 100644
--- a/app/services/hashtag_query_service.rb
+++ b/app/services/hashtag_query_service.rb
@@ -2,15 +2,14 @@
 
 class HashtagQueryService < BaseService
   def call(tag, params, account = nil, local = false)
-    any  = tags_for(params[:any])
+    tags = tags_for(Array(tag.name) | Array(params[:any])).pluck(:id)
     all  = tags_for(params[:all])
     none = tags_for(params[:none])
 
-    @query = Status.as_tag_timeline(tag, account, local)
-                   .tagged_with_all(all)
-                   .tagged_with_none(none)
-    @query = @query.distinct.or(self.class.new.call(any, params.except(:any), account, local).distinct) if any
-    @query
+    Status.distinct
+          .as_tag_timeline(tags, account, local)
+          .tagged_with_all(all)
+          .tagged_with_none(none)
   end
 
   private