Class: QuickSearch::ListUnsubscribeQuickSearch
- Inherits:
-
BaseQuickSearch
- Object
- BaseQuickSearch
- QuickSearch::ListUnsubscribeQuickSearch
- Defined in:
- app/queries/quick_search/list_unsubscribe_quick_search.rb
Instance Method Summary collapse
- #extract_term(query) ⇒ Object
-
#perform_find(term, existing_results = []) ⇒ Object
term is an communication uid.
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 |