about summary refs log tree commit diff
path: root/app/services/account_search_service.rb
diff options
context:
space:
mode:
authorJenkins <jenkins@jenkins.ninjawedding.org>2017-12-06 20:17:13 +0000
committerJenkins <jenkins@jenkins.ninjawedding.org>2017-12-06 20:17:13 +0000
commit8ca91cef45417947607079118b1af07c9774ae58 (patch)
treecafbe6cc30563ca35ffa522056ead63ca450d9c1 /app/services/account_search_service.rb
parentf2f2f1032082d6212771bd0307136484f671d37e (diff)
parenta0047fdca052088cce0e23c3b58b95f13be19805 (diff)
Merge remote-tracking branch 'tootsuite/master' into glitchsoc/master
Diffstat (limited to 'app/services/account_search_service.rb')
-rw-r--r--app/services/account_search_service.rb22
1 files changed, 13 insertions, 9 deletions
diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb
index b0c663d02..a289ceac4 100644
--- a/app/services/account_search_service.rb
+++ b/app/services/account_search_service.rb
@@ -1,12 +1,12 @@
 # frozen_string_literal: true
 
 class AccountSearchService < BaseService
-  attr_reader :query, :limit, :resolve, :account
+  attr_reader :query, :limit, :options, :account
 
-  def call(query, limit, resolve = false, account = nil)
-    @query = query
-    @limit = limit
-    @resolve = resolve
+  def call(query, limit, account = nil, options = {})
+    @query   = query
+    @limit   = limit
+    @options = options
     @account = account
 
     search_service_results
@@ -25,7 +25,7 @@ class AccountSearchService < BaseService
   end
 
   def resolving_non_matching_remote_account?
-    resolve && !exact_match && !domain_is_local?
+    options[:resolve] && !exact_match && !domain_is_local?
   end
 
   def search_results_and_exact_match
@@ -58,12 +58,16 @@ class AccountSearchService < BaseService
     @_domain_is_local ||= TagManager.instance.local_domain?(query_domain)
   end
 
+  def search_from
+    options[:following] && account ? account.following : Account
+  end
+
   def exact_match
     @_exact_match ||= begin
       if domain_is_local?
-        Account.find_local(query_username)
+        search_from.find_local(query_username)
       else
-        Account.find_remote(query_username, query_domain)
+        search_from.find_remote(query_username, query_domain)
       end
     end
   end
@@ -79,7 +83,7 @@ class AccountSearchService < BaseService
   end
 
   def advanced_search_results
-    Account.advanced_search_for(terms_for_query, account, limit)
+    Account.advanced_search_for(terms_for_query, account, limit, options[:following])
   end
 
   def simple_search_results