|
|
- # frozen_string_literal: true
-
- class AccountSuggestions
- SOURCES = [
- AccountSuggestions::SettingSource,
- AccountSuggestions::PastInteractionsSource,
- AccountSuggestions::GlobalSource,
- ].freeze
-
- def self.get(account, limit)
- SOURCES.each_with_object([]) do |source_class, suggestions|
- source_suggestions = source_class.new.get(
- account,
- skip_account_ids: suggestions.map(&:account_id),
- limit: limit - suggestions.size
- )
-
- suggestions.concat(source_suggestions)
- end
- end
-
- def self.remove(account, target_account_id)
- SOURCES.each do |source_class|
- source = source_class.new
- source.remove(account, target_account_id)
- end
- end
- end
|