Files
devise/app/models/notifier.rb
2009-10-20 08:44:21 -02:00

48 lines
1.4 KiB
Ruby

class Notifier < ::ActionMailer::Base
cattr_accessor :sender
# Deliver confirmation instructions when the user is created or its email is
# updated, and also when confirmation is manually requested
def confirmation_instructions(record)
setup_mail(record, :confirmation_instructions)
end
# Deliver reset password instructions when manually requested
def reset_password_instructions(record)
setup_mail(record, :reset_password_instructions)
end
private
# Configure default email options
def setup_mail(record, key)
subject translate(record, key)
from self.class.sender
recipients record.email
sent_on Time.now
content_type 'text/html'
body underscore_name(record) => record, :resource => record
end
# Setup subject namespaced by model. It means you're able to setup your
# messages using specific resource scope, or provide a default one.
# Example (i18n locale file):
#
# en:
# devise:
# notifier:
# confirmation_instructions: '...'
# user:
# notifier:
# confirmation_instructions: '...'
def translate(record, key)
I18n.t(:"#{underscore_name(record)}.#{key}",
:scope => [:devise, :notifier],
:default => key)
end
def underscore_name(record)
@underscore_name ||= record.class.name.underscore.to_sym
end
end