Class: MessageMailer

Inherits:
ActionMailer::Base
  • Object
show all
Includes:
ActionView::Helpers::SanitizeHelper
Defined in:
app/mailers/message_mailer.rb

Instance Method Summary collapse

Instance Method Details

#new_message_email(message, receiver) ⇒ Object

Sends an email for indicating a new message for the receiver



17
18
19
20
21
22
23
24
25
26
# File 'app/mailers/message_mailer.rb', line 17

def new_message_email(message,receiver)
  @message = message
  @receiver = receiver
  subject = message.subject.to_s
  subject = strip_tags(subject) unless subject.html_safe?
  mail(:to => receiver.send(Mailboxer.email_method,message), :subject => t('mailboxer.message_mailer.subject_new', :subject => subject)) do |format|
    format.text {render __method__}
    format.html {render __method__}
  end
end

#reply_message_email(message, receiver) ⇒ Object

Sends and email for indicating a reply in an already created conversation



29
30
31
32
33
34
35
36
37
38
# File 'app/mailers/message_mailer.rb', line 29

def reply_message_email(message,receiver)
  @message = message
  @receiver = receiver
  subject = message.subject.to_s
  subject = strip_tags(subject) unless subject.html_safe?
  mail(:to => receiver.send(Mailboxer.email_method,message), :subject => t('mailboxer.message_mailer.subject_reply', :subject => subject)) do |format|
    format.text {render __method__}
    format.html {render __method__}
  end
end

#send_email(message, receiver) ⇒ Object

Sends and email for indicating a new message or a reply to a receiver. It calls new_message_email if notifing a new message and reply_message_email when indicating a reply to an already created conversation.



6
7
8
9
10
11
12
# File 'app/mailers/message_mailer.rb', line 6

def send_email(message,receiver)    
  if message.conversation.messages.size > 1 
    reply_message_email(message,receiver)
  else
    new_message_email(message,receiver)
  end
end