demarches-normaliennes/app/services/notification_service.rb
2016-12-22 20:40:23 +01:00

33 lines
No EOL
745 B
Ruby

class NotificationService
def initialize type_notif, dossier_id
@type_notif = type_notif
@dossier_id = dossier_id
notification.liste.push text_for_notif
self
end
def notify
notification.save
end
def notification
@notification ||=
begin
Notification.find_by! dossier_id: @dossier_id, already_read: false, type_notif: @type_notif
rescue ActiveRecord::RecordNotFound
Notification.new dossier_id: @dossier_id, type_notif: @type_notif, liste: []
end
end
def text_for_notif
case @type_notif
when 'commentaire'
"#{notification.liste.size + 1} nouveau(x) commentaire(s) déposé(s)."
else
'Notification par défaut'
end
end
end