Стратегии настройки частоты электронной почты в приложении rails - PullRequest
3 голосов
/ 11 июня 2011

Я с нетерпением жду возможности разрешить пользователям настраивать частоту уведомлений по электронной почте.

Я хотел бы предложить им типичные варианты: прямая электронная почта, ежедневные и еженедельные дайджесты

¿Какую стратегию лучше всего построить в приложении rails 3?

Спасибо всем!

1 Ответ

5 голосов
/ 11 июня 2011

В вашей таблице users может быть строковый столбец email_frequency_preference, в котором хранятся их предпочтения.Затем вы можете найти пользователей по их частоте электронной почты:

User.find_all_by_email_frequency_preference    # :instantly | :weekly | :monthly

Я также предлагаю иметь модель Event с именем и описанием, чтобы представлять события, которые могут произойти, о которых вы хотите уведомить своих пользователей.Затем вы можете найти события по дате их создания:

Event.find :created_at => start_date..Date.today

Теперь вам нужно отдельно обработать все три частотных предпочтения:

  1. При каждом событии найти всепользователи, которые предпочитают мгновенные уведомления о событиях по электронной почте и отправляют их им немедленно.

  2. В конце каждой недели можно найти все события, которые произошли на этой неделе:

    start_date = Date.today.beginning_of_week
    

    Объедините их описания в одном электронном письме, затем найдите всех пользователей, которые предпочитают еженедельные почтовые уведомления о событиях, и отправьте их им.

  3. В конце каждого месяца найдите все события, которые произошли во времяmonth:

    start_date = Date.today.beginning_of_month
    

    Объедините их описания в одном письме, затем найдите всех пользователей, которые предпочитают ежемесячные уведомления по электронной почте, и отправьте их им.

...