3 require File.join(File.dirname(__FILE__), "..", "config", "environment")
5 if recipient = ARGV[0].match(/^c-(\d+)-(\d+)-(.*)$/)
6 comment = DiaryComment.find(recipient[1])
7 expected_token = comment.notification_token(recipient[2])
8 date = comment.created_at
9 from = comment.diary_entry.subscribers.find(recipient[2])
12 elsif recipient = ARGV[0].match(/^m-(\d+)-(.*)$/)
13 message = Message.find(recipient[1])
14 expected_token = message.notification_token
15 date = message.sent_on
16 from = message.recipient
23 exit 0 unless ActiveSupport::SecurityUtils.secure_compare(token, expected_token)
24 exit 0 unless from.active?
25 exit 0 if date < 1.month.ago
27 message&.update(:message_read => true)
29 mail = Mail.new($stdin.read
30 .encode(:universal_newline => true)
31 .encode(:crlf_newline => true))
33 message = Message.from_mail(mail, from, to)
36 UserMailer.message_notification(message).deliver if message.notify_recipient?