35 lines
756 B
Ruby
35 lines
756 B
Ruby
class FeedbackMailer < ActionMailer::Base
|
|
FBM_CONFIG = APP_CONFIG['feedback']
|
|
|
|
default :to => FBM_CONFIG['email'],
|
|
:cc => FBM_CONFIG['cc'],
|
|
:bcc => FBM_CONFIG['bcc']
|
|
|
|
include Resque::Mailer # send email async
|
|
|
|
def feedback_form_send(form_data)
|
|
@data = Feedback.new(form_data)
|
|
|
|
from = "#{@data.name} <#{@data.email}>"
|
|
subj = prepare_subject(@data.subject)
|
|
|
|
mail :from => from, :subject => subj
|
|
end
|
|
|
|
protected
|
|
|
|
def prepare_subject(subject)
|
|
res = ''
|
|
res << affix(FBM_CONFIG['subject_prefixes'])
|
|
res << subject
|
|
res << affix(FBM_CONFIG['subject_postfixes'])
|
|
res = res.strip.gsub(/\s+/, ' ')
|
|
res
|
|
end
|
|
|
|
def affix(affixes)
|
|
' %s ' % Array(affixes).map{|e| "[#{e}]"}.join
|
|
end
|
|
|
|
end
|