Skip to content

Instantly share code, notes, and snippets.

@devton
Created September 6, 2011 13:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save devton/1197501 to your computer and use it in GitHub Desktop.
Save devton/1197501 to your computer and use it in GitHub Desktop.
Devise rescued mail fixed some things
class ResquedDeviseMailer < Devise::Mailer
include Resque::Mailer
private
# Configure default email options
def devise_mail(record, action)
record = hack_record(record)
@scope_name = Devise::Mapping.find_scope!(record)
@devise_mapping = Devise.mappings[@scope_name]
@resource = instance_variable_set("@#{@devise_mapping.name}", record)
headers = {
:subject => translate(@devise_mapping, action),
:from => mailer_sender(@devise_mapping),
:to => record.email,
:template_path => template_paths,
:content_type => "html/plain;charset=UTF-8"
}
headers.merge!(record.headers_for(action)) if record.respond_to?(:headers_for)
mail(headers) do |format|
format.html { render "app/views/devise/mailer/#{action}" }
end
end
protected
# monkey path :D
# Change the 'User' for you model.
def hack_record(record)
record.kind_of?(Hash) ? User.find(record["id"]) : record
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment