Class: QuickSearch::ListUnsubscribeQuickSearch

Inherits:
BaseQuickSearch
  • Object
show all
Defined in:
app/queries/quick_search/list_unsubscribe_quick_search.rb

Instance Method Summary collapse

Instance Method Details

#extract_term(query) ⇒ Object



4
5
6
7
8
9
10
# File 'app/queries/quick_search/list_unsubscribe_quick_search.rb', line 4

def extract_term(query)
  email = query.scan(ContactPoint::EMAIL_REGEXP).join.strip
  return unless email
  uid = email.scan(/list-unsubscribe\+([\w-]+)@/)&.first&.first
  return unless uid
  uid
end

#perform_find(term, existing_results = []) ⇒ Object

term is an communication uid



13
14
15
16
# File 'app/queries/quick_search/list_unsubscribe_quick_search.rb', line 13

def perform_find(term, existing_results = [])
  emails = CommunicationRecipient.joins(:communication).where(communications: { unique_id: term }).emails.pluck(:detail)
  EmailPreference.where(email: emails)
end